儲存過程plsql_stored procedure_為業務系統所有業務表生成主鍵pk方式
create or replace procedure p_get_maxid
(v_table_name IN VARCHAR2,v_maxid out varchar2)
IS
ROWS INTEGER;
BEGIN
SELECT COUNT (*)
INTO ROWS
FROM SYSTEM_MAXID
WHERE UPPER (table_name) = UPPER (v_table_name);
(v_table_name IN VARCHAR2,v_maxid out varchar2)
IS
ROWS INTEGER;
BEGIN
SELECT COUNT (*)
INTO ROWS
FROM SYSTEM_MAXID
WHERE UPPER (table_name) = UPPER (v_table_name);
IF ROWS = 0
THEN
v_maxid:=lpad(to_char(rows),16,'0');
THEN
v_maxid:=lpad(to_char(rows),16,'0');
INSERT INTO SYSTEM_MAXID
(serial_no, table_name, maxid, id_len,
id_type, applier, apply_time
)
VALUES (seq_maxid.NEXTVAL, UPPER (v_table_name), v_maxid, 20,
'number', 'aibo_User', SYSDATE
);
ELSE
SELECT maxid
INTO rows
FROM SYSTEM_MAXID
WHERE UPPER (table_name) = UPPER (v_table_name);
(serial_no, table_name, maxid, id_len,
id_type, applier, apply_time
)
VALUES (seq_maxid.NEXTVAL, UPPER (v_table_name), v_maxid, 20,
'number', 'aibo_User', SYSDATE
);
ELSE
SELECT maxid
INTO rows
FROM SYSTEM_MAXID
WHERE UPPER (table_name) = UPPER (v_table_name);
v_maxid := lpad(to_char(rows + 1),16,'0');
UPDATE SYSTEM_MAXID
SET maxid = v_maxid,
apply_time = SYSDATE
WHERE UPPER (table_name) = UPPER (v_table_name);
END IF;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
dbms_output.put_line('no record');
END p_get_maxid;
SET maxid = v_maxid,
apply_time = SYSDATE
WHERE UPPER (table_name) = UPPER (v_table_name);
END IF;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
dbms_output.put_line('no record');
END p_get_maxid;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9240380/viewspace-667565/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 把自編儲存過程設定為系統儲存過程儲存過程
- 系統 儲存過程儲存過程
- 編寫電子書包平臺所有表主鍵之儲存過程_sp_stored procedure儲存過程
- 如何把SQL Server中一個表,一個儲存過程,一個檢視等改為系統表,系統儲存過程,系統檢視等...SQLServer儲存過程
- 修改儲存過程所有者儲存過程
- 金融機構關鍵業務系統資料儲存規劃實施與配置
- 不要使用業務鍵作為資料庫主鍵資料庫
- 匯出系統表中的儲存過程和函式儲存過程函式
- 儲存過程中巢狀儲存過程的變數執行方式儲存過程巢狀變數
- oracle儲存過程procedure_輸入引數varchar2與char報錯Oracle儲存過程
- 行為儲存過程(23)儲存過程
- 【SQL Server】常見系統儲存過程SQLServer儲存過程
- 儲存過程批量生成awr指令碼儲存過程指令碼
- Sql儲存過程分頁--臨時表儲存SQL儲存過程
- 通用自動為某表某欄位生成複製名稱的儲存過程儲存過程
- t_c_b_s之代發工資業務流程_儲存過程異常儲存過程
- 如何將複雜的應用邏輯從儲存過程移植到業務層儲存過程
- 將表資料生成SQL指令碼的儲存過程和工具SQL指令碼儲存過程
- oracle批量生成日期字尾的表儲存過程程式碼Oracle儲存過程
- 為什麼要用儲存過程儲存過程
- Oracle 通過儲存過程來生成CSV檔案Oracle儲存過程
- 自動生成對錶進行插入和更新的儲存過程的儲存過程 (轉)儲存過程
- MySQL儲存過程詳解 mysql 儲存過程MySql儲存過程
- mysql 儲存過程 procedure 批次建表MySql儲存過程
- 用儲存過程動態建立表儲存過程
- 儲存過程儲存過程
- Oracle中用sql查詢獲取資料庫的所有觸發器,所有儲存過程,所有檢視,所有表...OracleSQL資料庫觸發器儲存過程
- sap業務系統與業務會計
- 輸入表名後自動生成sqlldr控制檔案儲存過程SQL儲存過程
- SQL Server系統儲存過程和引數示例SQLServer儲存過程
- oracle自動生成編譯所有函式、儲存過程、觸發器的語句Oracle編譯函式儲存過程觸發器
- 資料庫設計:儲存過程主體資料庫儲存過程
- 本地儲存-系統和保留-系統檔案佔用儲存空間過大的解決方式
- Oracle '批量'禁用外來鍵的儲存過程Oracle儲存過程
- db2刪除已經儲存的表儲存過程DB2儲存過程
- MySQL 儲存過程進行切換表MySql儲存過程
- SQL 儲存過程裡呼叫另一個儲存過程SQL儲存過程
- MySQL儲存過程詳解 mysql 儲存過程linkMySql儲存過程