甲骨文动态SQL和静态SQL比较

  

 

<强>

18:16:27 SCOTT@戳>创建或替换过程p1   18:16:36 2标记数量;   18:16:36 3开始   18:16:36 4 select count(*)标记从all_tables table_name=癟1”;   18:16:36 5如果(国旗=0)   18:16:36 6立即执行“创建表t1(身份证号码,名字varchar2 (10), sal编号)”;   其他18:16:36 7   18:16:36 8插入t1值(10,斯科特,3000);   18:16:36 9插入t1值(20,5000年“汤姆”);   18:16:37 10插入t1值(30,4500年“杰瑞”);   18:16:37 11如果;   18:16:37 12结束p1;   18:16:38 13/创建过程。   运行:00:00:00.20   18:16:40 SCOTT@戳> exec p1;   PL/SQL过程成功完成。   运行:00:00:00.18   从t1 18:16:47 SCOTT@戳> select *;   ID名称萨尔   - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -   斯科特3000   5000汤姆   杰里4500   运行:00:00:00.01   18:16:52 SCOTT@戳>


18:40:24 SCOTT@戳>创建或替换过程p2 (p_id号码)   18:40:26 2 v_name varchar2 (10);   18:40:26 3 v_sal数量;   18:40:26 4开始   18:40:26 5立即执行“选择名字,萨尔从t1 id=: 1 ' v_name,使用p_id v_sal;   18:40:26 6 dbms_output.put_line (v_name | |的工资是:| | to_char (v_sal));   18:40:26 7例外   18:40:26 8当别人   18:40:26 9 dbms_output.put_line(“没有数据发现”);   18:40:26 10 p2结束;   18:40:26 11/创建过程。   运行:00:00:00.07   18:40:27 SCOTT@戳> exec p2 (10);   斯科特工资:3000   PL/SQL过程成功完成。   运行:00:00:00.01   18:40:32 SCOTT@戳> exec p2 (20);   汤姆工资:5000   PL/SQL过程成功完成。   运行:00:00:00.02   18:40:40 SCOTT@戳> exec p2 (30);   杰瑞工资:4500   PL/SQL过程成功完成。   运行:00:00:00.02   18:40:45 SCOTT@戳>


18:48:59 SCOTT@戳>创建或替换过程p3 (p_sal编号)   18:50:55 2 r_t1 t1%rowtype;   18:50:55 3类型c_type ref光标;   18:50:56 4 c1 c_type;   18:50:56 5开始   18:50:56 6开放c1”   18:50:56 7 select * from t1   18:50:56 8萨尔>:1 '   使用p_sal 18:50:56 9;   18:50:56 10个循环   18:50:56 11取回c1 r_t1;   18:50:56 12 c1%notfound时退出;   18:50:56 13 dbms_output.put_line(更高的薪水' | | to_char (p_sal) | | '的名字是:');   18:50:56 14 dbms_output.put_line (“ID”| | to_char (r_t1.id) | |”的名字是:“| | r_t1.name);   18:50:56 15结束循环;   18:50:56 16 c1密切;   18:50:56 17 p3结束;   18:50:57 18/创建过程。   运行:00:00:00.12   18:50:58 SCOTT@戳> exec p3 (2000);   工资高2000的名字是:   ID是10名是:斯科特   工资高2000的名字是:   ID是20名是:汤姆   工资高2000的名字是:   ID是30名是:杰里   PL/SQL过程成功完成。   运行:00:00:00.02   18:51:15 SCOTT@戳>






甲骨文动态SQL和静态SQL比较