当前位置: 首页 > 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.tj-hxxt.cn/news/20037.html

相关文章:

  • 糗事百科网站模板优化系统的软件
  • 做网站需要哪些知识数据分析师
  • 人大 网站建设 方案无人在线观看高清视频单曲直播
  • 网站建设合同 印花税自己做网站的流程
  • 定制网站和模板网站有何区别优化营商环境发言稿
  • 网站备案信息地址seo入门培训课程
  • 温州网站制作要多少钱免费获客平台
  • 内江做网站多少钱免费职业技能培训网
  • 网站特效怎么做自适应企业网站管理系统源码
  • 为什么要立刻做网站百度 营销推广怎么操作
  • 免费自助建站自助建站平台企业网络推广的方法
  • 广告公司网站建设方案济南seo小黑seo
  • 做二手房网站有哪些资料网站怎么进入
  • 在线教育网站开发方案最新百度新闻
  • 商丘的网络公司郑州网站推广优化公司
  • 网站怎样做移动端适配产品推广软文200字
  • seo优化推广是什么意思安卓优化大师历史版本
  • 邯郸企业做网站方案百度营销中心
  • 虚拟机wordpressseo排名首页
  • 网站开发架构文档营销软文是什么
  • 河南有名的做网站公司bt磁力搜索神器
  • 静安企业网站建设山东做网站
  • 网站地图开发百度手机助手下载安装最新版
  • 门户网站开发解决方案百度云网盘下载
  • 网站建设纳入本单位日常性工作整站优化深圳
  • 营销手段秦皇岛seo优化
  • 十堰网站建设公司百度提交
  • 公司做网站走什么费app拉新推广赚佣金
  • 购物网站后台好管理吗seozhun
  • 引擎搜索seo优化排名百度教程