Fosdccf.blog.chinaunix.net
sdccf
全部博文(19283)
Linux酷软(214)
tmp(0)
PostgreSQL(93)
Solaris(383)
AIX(173)
SCOUNIX(575)
DB2(1005)
Shell(386)
C/C++(1187)
MySQL(1750)
Sybase(465)
Oracle(3695)
Informix(548)
HP-UX(0)
IBM AIX(2)
Sun Solaris(0)
BSD(1)
Linux(8597)
SCO UNIX(23)
2011年(1)
2009年(125)
2008年(19094)
2007年(63)
clifford
linky521
曾德标
fengzhan
leon_yu
mcuflowe
yt200902
guanyuji
GY123456
snow888
carlos94
丸喵喵
sean229
cxunix
可怜的猪
cqxc413
xzzgege
wb123456
分类: Oracle
2008-04-30 16:14:36
动态SQL.在一般的PL/SQL编程开发中,可以使用SQL的DML语句和事务控制语句,但是DDL语句及会话控制语句却不能在PL/SQL中直接使用,要想实现在PL/SQL中使用DDL语句及会话控制语句,可以通过动态SQL来实现.动态SQL语法如下:execute immediate 动态SQL语句字符串[into 接收select语句选择的记录值][using 绑定输入参数变量];OK,下面来看看几个简单的实例.例一:--创建表,在pl/sql中使用DDL语句.--注,动态创建的表,使用DML语句时也只能是动态操作.declares_sql varchar2(200);begins_sql:='create table tab1(id number,name varchar2(20))';execute immediate s_sql;execute immediate 'insert into tab1 values(1,''aa'')';end;例二:--方便用户输入declares_id number;s_rec emp%rowtype;begins_id:=&请输入编号;execute immediate 'select * from emp where empno=:id' into s_rec using s_id;dbms_output.put_line('编号'||s_id||'薪水为'||s_rec.sal);--异常处理exceptionwhen no_data_found thendbms_output.put_line('没有此编号');end;
原文:http://hujing1229.blog.ccidnet.com/blog-htm-do-showone-uid-60604-type-blog-itemid-185778.html
上一篇:pl/sql编程之游标
下一篇:pl/sql编程(1)
登录 注册