• / 8
  • 下载费用:10 金币  

第27章 动态SQL.doc

关 键 词:
第27章 动态SQL.doc
资源描述:
第 27章 动态 SQL/****************第 27章 动态 SQL*****************/使用 EXECUTE IMMEDIATE语句处理 DDL语句、DML 语句、PL/SQL 语句块和 SELECT INTO单行查询语句。DECLAREsql_ executeTest VARCHAR2(100);plsql_block VARCHAR2(500);executeTest _id NUMBER(4):= 10;executeTest _alary NUMBER(7, 2): =3000;executeTest_name VARCHAR2(14) := 'MARK';v_name executeTest_table. name %ROWTYPE;executeTest_ record executeTest_table %ROWTYPE;BEGIN/*处理 DDL语句,创建 executeTest_table表*/EXECUTE IMMEDIATE 'CREATE TABLE executeTest_table(id INT,ename VARCHAR2, salary NUMBER)';sql_executeTest:= 'INSERT INTO executeTest _table VALUES (:id, :ename, : salary)';/*处理 DML语句,向 executeTest_table表中插入数据*/EXECUTE IMMEDIATE sql_executeTestUSING executeTest_id, executeTest_name, executeTest_salary;plsql_block :=‘DECLARECURSOR cursor_executeTest ISSELECT * FROM executeTest_tableBEGINFOR executeTest_record IN cursor_ executeTest LOOP DBMS_OUTPUT.PUT_LINE (‘id:’|| executeTest_record .id|| ‘name:’|| executeTest_record. name|| ‘salary:’|| executeTest_record . salary);END';/*处理 PL/SQL语句块*/EXECUTE IMMEDIATE plsql_block;sql_executeTest:= 'SELECT * FROM executeTest_table WHERE executeTestno = :id';/*使用 USING子句绑定参数*/EXECUTE IMMEDIATE sql_executeTestINTO executeTest_recordUSING executeTest_id;sql_executeTest:='DELETE executeTest WHERE id = :10 RETURNING ename INTO : name ';/*使用 RETURNING子句接收 DML语句返回的值*/EXECUTE IMMEDIATE sql_executeTestRETURNING INTO v_name;/*处理 DDL语句,删除 executeTest_table 表*/EXECUTE IMMEDIATE 'DROP TABLE executeTest_table ';END;使用游标动态的处理多行数据。DECLARETYPE executeTestcurtyp IS REF CURSOR; -- 定义游标executeTest_cv executeTestcurtyp; sql_stmt VARCHAR2(200);tea_ teaName VARCHAR2(10);tea_ salary NUMBER := 3500;tea_record t_teacher%ROWTYPE;BEGINsql_stmt := 'SELECT teaName , salary FROM t_teacherWHERE salary :s'OPEN executeTest_cv FOR sql_stmt -- 打开游标USING tea_ salary;LOOPFETCH executeTest_cv -- 提取数据INTO tea_record; EXIT WHEN executeTest_cv%NOTFOUND; DBMS_OUTPUT.PUT_LINE (‘教师姓名:’|| tea_record. teaName|| ‘工资:’|| tea_record. salary);END LOOP;
展开阅读全文
  微传网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
0条评论

还可以输入200字符

暂无评论,赶快抢占沙发吧。

关于本文
本文标题:第27章 动态SQL.doc
链接地址:https://www.weizhuannet.com/p-9505632.html