当前位置: 代码迷 >> SQL >> SQL与PL/SQL的差别
  详细解决方案

SQL与PL/SQL的差别

热度:13   发布时间:2016-05-05 13:11:01.0
SQL与PL/SQL的区别

*在PL/SQL中只可以直接嵌入SQL中的查询、DML、TCL,而DDL、DCL不能直接嵌入。

*DDL怎么嵌入,需要吗?

*DCL怎么嵌入,需要吗?

?

;——以SQL语句为单位来执行;

/——以PL/SQL块为单位来执行;

?

?

SQL> SELECT *FROM dept;

??? DEPTNO DNAME????????? LOC
---------- -------------- -------------
??????? 10 ACCOUNTING???? NEW YORK
??????? 20 RESEARCH?????? DALLAS
??????? 30 SALES????????? CHICAGO
??????? 40 OPERATIONS???? BOSTON

SQL> SELECT *FROM dept
? 2? /

??? DEPTNO DNAME????????? LOC
---------- -------------- -------------
??????? 10 ACCOUNTING???? NEW YORK
??????? 20 RESEARCH?????? DALLAS
??????? 30 SALES????????? CHICAGO
??????? 40 OPERATIONS???? BOSTON

SQL>

?

?

select语句

sql可以返回任意量的记录;PL/SQL能且只能返回单个记录。

SQL> begin
? 2? select *from dept;
? 3? end;
? 4? /
select *from dept;
*
第 2 行出现错误:
ORA-06550: 第 2 行, 第 1 列:
PLS-00428: 在此 SELECT 语句中缺少 INTO 子句


SQL> select *from dept;

??? DEPTNO DNAME????????? LOC
---------- -------------- -------------
??????? 10 ACCOUNTING???? NEW YORK
??????? 20 RESEARCH?????? DALLAS
??????? 30 SALES????????? CHICAGO
??????? 40 OPERATIONS???? BOSTON

SQL>

?

??????? *select * bulk collect into table_type from t1;?

??????? *PL/SQL中select into能且只能返回一条记录。

??????? *PL/SQL中的变量与表字段同名会有too_many_rows例外。

??????? *

  相关解决方案