首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> DB2 資料庫 >> DB2 教學

DB2 8.1 解決建立預存程序失敗:免 C 編譯器方案

     編輯:DB2 教學

DB2 8.1 及舊版建立預存程序需要 C 編譯器環境,若作業系統缺少編譯工具將無法建立。根本解決方案:升級至 DB2 8.2,新版移除 C 編譯器相依性。

建立預存程序基本語法

CREATE PROCEDURE procedure_name
  (IN param1 TYPE, OUT param2 TYPE, ...)
  LANGUAGE SQL
BEGIN
  -- SQL 程式碼區塊
  DECLARE var1 TYPE;
  SET var1 = ...;
  SELECT ... INTO var1 FROM ...;
  ...
END

關鍵限制與權限

  • CREATE PROCEDURE 不能與其他 SQL 合併在單一批次中
  • 預設權限屬資料庫擁有者,可授予其他用戶
  • 名稱遵循識別項規則,僅能在當前資料庫建立
  • 需指定:輸入/輸出參數、程式邏輯、回傳狀態值

系統預存程序與命名慣例

系統預存程序儲於 master 資料庫,前綴 sp_。強烈建議勿使用 sp_ 前綴命名使用者程序,SQL Server 解析順序:master → 限定名稱 → dbo 擁有者,同名使用者程序永不會被執行。

程序分組與暫存程序

  • 分組:同名不同編號(如 my_proc;1, my_proc;2),DROP my_proc 刪除整組,無法單獨刪除
  • 本地暫存:#proc_name,僅建立連線可執行,連線關閉自動刪除
  • 全域暫存:##proc_name,所有連線可執行,建立者連線關閉且所有執行結束後刪除
  • 直接在 tempdb 建立無前綴程序,服務重啟時自動清除

建立工具

  • 企業管理員:資料庫 → 預存程序 → 右鍵新增 → 輸入程式碼 → 檢查語法/設定權限
  • 建立預存程序精靈:工具 → 精靈 → 資料庫 → 建立預存程序精靈
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved