PLSQL Language Referenc-PL/SQL靜態SQL-靜態SQL的描述-偽列
偽列
(1)靜態SQL包括下列SQL偽列:
CURRVAL、NEXTVAL、LEVEL、OBJECT_VALUE、ROWID、ROWNUM
(2)PL/SQL中的CURRVAL和NEXTVAL
注意:每次引用 序列名.NEXTVAL,序列會立即增長並且永久增長,不管你提交還是回滾了事務。
可以在NUMBER型別出現的任何地方使用CURRVAL和NEXTVAL,然而:
n 使用這2個值為ADT方法引數提供預設值時,會引發編譯錯誤。
n PL/SQL會計算CURRVAL和NEXTVAL每次出現時的值,而SQL是對於序列出現的每一行計算序列的值。
DROP TABLE employees_temp; CREATE TABLE employees_temp AS SELECT employee_id, first_name, last_name FROM employees;
DROP TABLE employees_temp2; CREATE TABLE employees_temp2 AS SELECT employee_id, first_name, last_name FROM employees;
DECLARE seq_value NUMBER; BEGIN -- 產生初始序列值 seq_value := employees_seq.NEXTVAL;
DBMS_OUTPUT.PUT_LINE ('初始序列值: ' || TO_CHAR(seq_value));
INSERT INTO employees_temp (employee_id, first_name, last_name) VALUES (employees_seq.NEXTVAL, 'Lynette', 'Smith');
INSERT INTO employees_temp2 VALUES (employees_seq.CURRVAL, 'Morgan', 'Smith');
--因為NEXTVAL可能被不同的使用者和應用程式所引用,並且一些NEXTVAL的值 --可能沒有被儲存在資料庫中,所以值會產生斷續 seq_value := employees_seq.CURRVAL;
DELETE FROM employees_temp2 WHERE employee_id = seq_value;
UPDATE employees_temp SET employee_id = employees_seq.NEXTVAL WHERE first_name = 'Lynette' AND last_name = 'Smith';
seq_value := employees_seq.CURRVAL;
DBMS_OUTPUT.PUT_LINE (序列的最後值: ' || TO_CHAR(seq_value)); END; |
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/17013648/viewspace-1118613/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- PLSQL Language Referenc-PL/SQL靜態SQL-靜態SQL的描述-語句SQL
- PLSQL Language Referenc-PL/SQL靜態SQL-靜態SQL的描述-游標-顯式游標SQL
- PLSQL Language Referenc-PL/SQL靜態SQL-自治事務(二)SQL
- PLSQL Language Referenc-PL/SQL靜態SQL-游標變數SQL變數
- PLSQL Language Referenc-PL/SQL靜態SQL-靜態SQL的描述-游標-開啟和關閉顯式游標SQL
- PLSQL Language Referenc-PL/SQL靜態SQL-事務處理和控制SQL
- PLSQL Language Referenc-PL/SQL靜態SQL-自治事務-控制自治事務SQL
- PLSQL Language Referenc-PL/SQL靜態SQL-查詢結果集處理SQL
- PLSQL Language Referenc-PL/SQL靜態SQL-事務處理和控制-savepoint語句SQL
- PLSQL Language Referenc-PL/SQL靜態SQL-游標變數-建立游標變數SQL變數
- PLSQL Language Referenc-PL/SQL動態SQL-何時需要動態SQLSQL
- PLSQL Language Referenc-PL/SQL靜態SQL-事務處理和控制-隱式回滾SQL
- PLSQL Language Referenc-PL/SQL靜態SQL-游標變數-游標變數賦值SQL變數賦值
- PLSQL Language Referenc-PL/SQL靜態SQL-事務處理和控制-覆蓋預設的鎖SQL
- PLSQL Language Referenc-PL/SQL動態SQL-本地動態SQL(EXECUTE IMMEDIATE語句)SQL
- PLSQL Language Referenc-PL/SQL靜態SQL-帶有子查詢的查詢結果集處理SQL
- PLSQL Language Referenc-PL/SQL靜態SQL-游標變數-游標變數作為宿主變數SQL變數
- PLSQL Language Referenc-PL/SQL靜態SQL-游標變數-開啟和關閉游標變數SQL變數
- PLSQL Language Referenc-PL/SQL靜態SQL-游標變數-游標變數作為子程式引數SQL變數
- PLSQL Language Referenc-PL/SQL動態SQL-練習:在動態SQL塊中呼叫子程式。SQL
- PLSQL Language Referenc-PL/SQL動態SQL-動態SQL中重複的佔位符名名稱SQL
- PLSQL Language Referenc-PL/SQL靜態SQL-使用顯式游標OPEN-FETCH-CLOSE處理查詢結果集SQL
- PLSQL Language Referenc-PL/SQL動態SQL-練習:在USING子句中未初始化的變數表示NULLSQL變數Null
- 偽靜態、靜態和動態的區別
- ASP.NET偽靜態及靜態ASP.NET
- PLSQL Language Referenc-PL/SQL集合和記錄-關聯陣列SQL陣列
- PLSQL Language Referenc-PL/SQL動態SQL-SQL隱碼攻擊-SQL隱碼攻擊技術-語句修改SQL
- 網站偽靜態和純靜態區別網站
- wordpress偽靜態的原理
- Nginx偽靜態教程Nginx
- thinkphp Nginx偽靜態PHPNginx
- pbootcms偽靜態教程boot
- PLSQL Language Referenc-PL/SQL子程式-前向宣告SQL
- PLSQL Language Referenc-PL/SQL子程式-子程式呼叫SQL
- .NET偽靜態使用以及和純靜態的區別
- 繫結變數在靜態sql和動態sql中變數SQL
- nginx偽靜態檔案Nginx
- 網站偽靜態配置網站