/
這樣,可以在未知其他字段大小和類型的時候定義變量,提高兼容性。
三、DML 操作:
1、實例:
declare
v_empno emp.empno%type;
begin
select max(empno)
into v_empno
from emp;
v_empno:=v_empno+1;
insert into emp(empno,ename,job,deptno)
values(v_empno,’asdfasdf’,’ddddd’,10);
end;
/
這樣也可以實現如SEQUENCE一樣的編號唯一遞增。
2、更新和刪除:
這個較為簡單:
DECLARE
V_DEPTNO EMP.DEPtno%type :=10;
begin
delete from emp
where deptno=v_deptno;
end;
/
大家多多實踐即可掌握。
PLSQL首先檢查一個標識符是否是一個數據庫的列名,如果不是,再假定它是一個PLSQL的標識符。所以如果一個PLSQL的變量名為ID,列中也有個ID,如:
SELECT date_ordered, date_shipped
INTO date_ordered, date_shipped
FROM s_ord
WHERE id = id;
就會返回TOO MANY ROWS,這是要盡量避免的。
四、SQL CURSOR
游標是一個獨立SQL工作區,有兩種性質的游標:
隱式游標: 當PARSE 和EXECUTE 時使用隱式游標。
顯式游標: 是由程序員顯式聲明的。
游標的屬性:
SQL%ROWCOUNT:一個整數值,最近SQL語句影響的行數。
SQL%FOUND BOOLEAN屬性,如果為TRUE,說明最近的SQL STATEMENT有返回值。
SQL%NOTFOUND 與SQL%FOUND相反
SQL%ISOPEN 在隱式游標中經常是FALSE,因為執行后立即自動關閉了。
SQL> variable row_de number
SQL> r
1 declare
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/