首页 > 代码库 > plsql programming 01 plsql概述

plsql programming 01 plsql概述

授权

从 oracle 8i 开始, oracle 用通过提供 authid 子句为 pl/sql 的执行授权模型, 这样我们可以选择使用 authid current_user(调用者权限)来执行这个plsql语句, 这时这个程序是用调用者(当前)模式的授权运行的.

与 SQL 整合

pl/sql 于 sql 紧密整合, plsql 无需任何 odbc, jdbc

declare
  l_book_count INTEGER;
begin
  select count(*)
    into  l_book_count
  from autor like ‘%FEUERSTEIN, STEVEN%‘

dbms_output.put_line(
  ‘Steven has written (or co_written) ‘ || l_book_count || ‘books. ‘);

update books
    set author = replace( author, ‘Steven‘, ‘Stephen‘)
  where author like ‘%FEUERSTEIN, STEVEN%‘
end;
<style></style>

以上代码可以看出, 只是在单纯的定义一个pl/sql块时, 如果有变量定义, 那么可以使用 declare 生命, 但是, 假如是一个 function, 或者 procedure 就不需要 declare 来生命, 而是直接声明就可以了.