当前位置: 首页 > news >正文

网站安全漏洞扫描工具seo博客大全

网站安全漏洞扫描工具,seo博客大全,郑州网站app建设,吉安做网站优化目录 前言创建表插入数据查询表中数据创建存储过程打开dbms_output包输出开关调用存储过程 前言 如果要在存储过程中执行一个SELECT语句并处理其结果,你不能直接使用EXECUTE IMMEDIATE,因为EXECUTE IMMEDIATE主要用于执行那些不返回行的语句(…

目录

  • 前言
  • 创建表
  • 插入数据
  • 查询表中数据
  • 创建存储过程
  • 打开dbms_output包输出开关
  • 调用存储过程

前言

  • 如果要在存储过程中执行一个SELECT语句并处理其结果,你不能直接使用EXECUTE IMMEDIATE,因为EXECUTE IMMEDIATE主要用于执行那些不返回行的语句(如INSERT、UPDATE、DELETE等)或者那些你不需要处理返回结果的SELECT语句。

  • 对于需要处理返回结果的SELECT语句,你应该使用游标(CURSOR)。以下是一个存储过程的示例,它接受一个SQL查询字符串作为输入,使用游标执行该查询,并遍历结果集来打印每一行的数据(在实际应用中,你可能会对结果集进行其他处理)。

创建表

CREATE TABLE employees (employee_id NUMBER PRIMARY KEY,first_name VARCHAR2(50),last_name VARCHAR2(50),email VARCHAR2(100),hire_date DATE,job_id VARCHAR2(10),salary NUMBER(8, 2),department_id NUMBER
);

插入数据

INSERT INTO employees (employee_id, first_name, last_name, email, hire_date, job_id, salary, department_id) VALUES
(1, 'John', 'Doe', 'john.doe@example.com', TO_DATE('2023-01-15', 'YYYY-MM-DD'), 'IT_PROG', 6000, 10),
(2, 'Jane', 'Smith', 'jane.smith@example.com', TO_DATE('2022-07-22', 'YYYY-MM-DD'), 'ST_CLERK', 4500, 20),
(3, 'Michael', 'Johnson', 'michael.johnson@example.com', TO_DATE('2021-11-30', 'YYYY-MM-DD'), 'SA_REP', 7000, 30);COMMIT;

查询表中数据

SELECT * FROM EMPLOYEES;EMPLOYEE_ID		FIRST_NAME	LAST_NAME	EMAIL							HIRE_DATE		JOB_ID		SALARY		DEPARTMENT_ID
1				'John'		'Doe'		'john.doe@example.com'			'2023-01-15'	'IT_PROG'	6000.00		10
2				'Jane'		'Smith'		'jane.smith@example.com'		'2022-07-22'	'ST_CLERK'	4500.00		20
3				'Michael'	'Johnson'	'michael.johnson@example.com'	'2021-11-30'	'SA_REP'	7000.00		30

创建存储过程

CREATE OR REPLACE PROCEDURE sp_dynamic_select(p_sql IN VARCHAR2
) AS-- 定义一个游标变量c SYS_REFCURSOR;-- 定义变量来存储从游标中检索到的数据v_employee_id   NUMBER;v_first_name    VARCHAR2(50);v_last_name     VARCHAR2(50);v_email         VARCHAR2(100);v_hire_date     DATE;v_job_id        VARCHAR2(10);v_salary        NUMBER(8, 2);v_department_id NUMBER;
BEGIN-- 打开游标并传递SQL查询字符串OPEN c FOR TO_CHAR(p_sql); -- 注意:这里使用TO_CHAR是为了确保p_sql被当作字符串处理,尽管在这个例子中它已经是字符串了-- 循环遍历游标中的每一行LOOP-- 从游标中检索数据到变量中FETCH c INTO v_employee_id, v_first_name, v_last_name, v_email, v_hire_date, v_job_id, v_salary, v_department_id;-- 检查是否到达游标的末尾EXIT WHEN c%NOTFOUND;-- 打印检索到的数据(在实际应用中,你可以对数据进行其他处理)DBMS_OUTPUT.PUT_LINE('Employee ID: ' || v_employee_id ||', First Name: ' || v_first_name ||', Last Name: ' || v_last_name ||', Email: ' || v_email ||', Hire Date: ' || TO_CHAR(v_hire_date, 'YYYY-MM-DD') ||', Job ID: ' || v_job_id ||', Salary: ' || TO_CHAR(v_salary) ||', Department ID: ' || v_department_id);END LOOP;-- 关闭游标CLOSE c;
EXCEPTIONWHEN OTHERS THEN-- 捕获并处理异常DBMS_OUTPUT.PUT_LINE('Error executing query: ' || SQLERRM);-- 如果游标已经打开,则关闭它(尽管在异常处理中这通常不是必需的,因为游标会在过程结束时自动关闭)IF c%ISOPEN THENCLOSE c;END IF;
END;
/

打开dbms_output包输出开关

dbms_output.enable;

调用存储过程

BEGIN-- 调用存储过程,并传递一个SELECT查询字符串作为参数sp_dynamic_select('SELECT employee_id, first_name, last_name, email, hire_date, job_id, salary, department_id FROM employees WHERE department_id = 10');
END;
/

在这里插入图片描述

http://www.ritt.cn/news/18302.html

相关文章:

  • 兰州金建工程建设监理网站神马移动排名优化
  • 淘宝加盟网站建设天津百度网站快速排名
  • 简单网站制作实例软文写作平台发稿
  • 网站制作步骤流程图推广链接怎么自己搞定
  • 中国各大网站开发语言seo实训报告
  • 自己做的网站别人打不开企业新闻稿发布平台
  • 哪家公司网站做的比较好程序员培训班要多少钱
  • 仿新闻网站模板手机版自助建站平台
  • striking wordpress网站seo优化技巧
  • 郑州优化网站收费标准网站seo快速排名优化
  • 做企业网站要哪些人员产品推广方式及推广计划
  • 国外做的好的鲜花网站友情链接属于免费推广吗
  • 金融网站模版下载百度网页版
  • 云服务器多少钱一台seo技术员
  • 电子商务网站建设的背景百度浏览器网页版入口
  • 王磊网站建设网络营销的市场背景
  • 自己做的网站如何赚钱吗seo专员简历
  • 沈阳做网站哪个好口碑营销怎么做
  • 新手学做网站 pdf电商引流推广方法
  • 网站建设代码全国免费信息发布平台
  • 网站开发建设账务处理程序搜索引擎入口大全
  • 做网站app的工资高吗网站在线制作
  • 浙江国泰建设集团有限公司网站职业培训机构需要什么资质
  • 个人社团网站怎么做2345网址导航用户中心
  • 如何自已建网站搜索引擎付费推广
  • 建设购物网站课程设计竞价推广托管公司介绍
  • ps做网站的流程秦皇岛网站seo
  • 有什么可以做试卷题目的网站企业营销策划论文
  • 网站营销公司哪家好百度账号管理中心
  • 网站建设类岗位上海谷歌seo公司