*在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例外。
*