国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

編寫一個接受變量的存儲過程

2024-07-21 02:39:09
字體:
來源:轉載
供稿:網友
   問:我想要寫一個存儲過程,可以接受變量并使用它作為select語句中的表名。下面的代碼我無法編譯。
  CREATE OR REPLACE PROCEDURE USP_STAT_FEATURE_COUNT (
  P_TABLENAME                                 IN  VARCHAR2
  ,P_PPMS                                      IN  VARCHAR2
  ,P_FEATURE_COUNT                        OUT NUMBER
  )
  IS
  /******************************************************************************
  NAME:       USP_STAT_FEATURE_COUNT
  PURPOSE: Count of all drawings in the system   ******************************************************************************/  TBL varchar2(50);  BEGIN  TBL := P_TABLENAME;  SELECT COUNT(OBJECTID) INTO P_FEATURE_COUNT FROM P_TABLENAME WHERE PPMS = P_PPMS;  COMMIT;  END USP_STAT_FEATURE_COUNT;
  /  答:你不能這樣做!為什么,你一定會問。因為一方面你想要SQL語句成為基于表名和列值的動態的語句,另一方面你使用了STATIC SQL語句。還有,假如你想要做出任何的數據庫更改只需要COMMIT,假如你SELECT數據到PL/SQL 變量的話就不需要。
  你需要使用本來的動態SQL(假如更復雜的話,就是DBMS_SQL)來獲得你的目的。  下面是可以編譯的版本。  CREATE OR REPLACE PROCEDURE USP_STAT_FEATURE_COUNT (
  P_TABLENAME                                 IN  VARCHAR2
  ,P_PPMS                                      IN  VARCHAR2
  ,P_FEATURE_COUNT                        OUT NUMBER
  )
  IS  /******************************************************************************
  NAME:       USP_STAT_FEATURE_COUNT
  PURPOSE: Count of all drawings in the system ******************************************************************************/  --TBL varchar2(50);  BEGIN  -- TBL := P_TABLENAME;  這個語句不必要  --  你的P_TABLE_NAME  應該與table和name之間的沒有下劃線的參數名相匹配  EXECUTE IMMEDIATE ' SELECT COUNT(OBJECTID) FROM '   P_TABLENAME  ' WHERE PPMS = '   P_PPMS
  INTO P_FEATURE_COUNT;
  --  COMMIT 你不需要commit;   END USP_STAT_FEATURE_COUNT;
  /

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 四会市| 高邮市| 彰武县| 敦化市| 余庆县| 微博| 延边| 桦南县| 龙山县| 筠连县| 永昌县| 同心县| 略阳县| 黄骅市| 临江市| 隆子县| 龙里县| 洞口县| 沭阳县| 乌什县| 唐河县| 富民县| 香港| 太白县| 海门市| 潼南县| 巴青县| 东乡族自治县| 云龙县| 迁西县| 顺平县| 咸丰县| 泸溪县| 白城市| 墨竹工卡县| 邯郸市| 偏关县| 崇义县| 孝感市| 津市市| 双峰县|