Oracle在PL/SQL中嵌入SQL语句

PL/SQL块中只能直接嵌入SELECT、DML(INSERT,UPDATE,DELETE)以及事务控制语句(COMMIT,ROLLBACK,SAVEPOINT),

而不能直接嵌入DDL语句(CREATE,ALTER,DROP)和DCL语句(GRANT,REVOKE)

1、嵌入SELECT语句

使用SELECT INTO语句时,必须要返回一条数据,并且只能返回一条数据。

v_ename emp.ename%type;
v_sal   emp.sal%type;
select ename,sal into v_ename,v_sal from emp where empno=&no;

2、嵌入insert子句。

v_deptno emp.deptno%type:=&no;
insert into employee select * from emp where deptno=v_deptno;

3、更新数据

v_ename emp.ename%type:='&name';
update emp set (sal,comm) = (select sal,comm from emp where ename=v_ename) where job = (select job from emp where ename=v_ename)

4、删除数据

v_ename emp.ename%type:='&name';
delete from emp where deptno=(select deptno from emp where ename=v_ename);

关于Oracle在PL/SQL中嵌入SQL语句的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持编程宝库

 一、使用游标对于DML语句和单行select into ,oracle自动分配隐形游标。处理select返回多行语句,可以使用显式游标。使用显示游标处理多行数据,也可使用SELECT..BU ...