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

        *

你可能感兴趣的:(sql,Tcl)