2013-04-28 74 views
0

我想在使用循環的許多數據庫中使用vb.net在oracle中創建一個函數。我使用這個查詢在oracle中使用vb.net創建函數

CREATE OR REPLACE FUNCTION promo_code_fun(store_id IN VARCHAR2,ws_id IN VARCHAR2,trn_id IN VARCHAR2,business_dt IN VARCHAR2,line_no IN integer,item_cd IN VARCHAR2,creation_time timestamp) 

的問題是,它創造的功能,但有錯誤。在甲骨文它的函數名前自動添加架構名稱。我通過vb代碼傳遞了模式名稱。但它會創建帶有錯誤的函數。

CREATE OR REPLACE FUNCTION " & """" & SchemaName & """" & ".promo_code_fun(store_id IN VARCHAR2,ws_id IN VARCHAR2,trn_id IN VARCHAR2,business_dt IN VARCHAR2,line_no IN integer,item_cd IN VARCHAR2,creation_time timestamp) 

如果我複製蟾蜍編輯代碼並手動運行它,它同時W/O雙引號它給錯誤手動運行創建一個沒有錯誤的功能..

CREATE OR REPLACE FUNCTION "23914".promo_code_fun(store_id IN VARCHAR2,ws_id IN VARCHAR2,trn_id IN VARCHAR2,business_dt IN VARCHAR2,line_no IN integer,item_cd IN VARCHAR2,creation_time timestamp) 

+0

爲什麼你想使用VB前端來創建存儲過程? – APC 2013-04-28 13:41:58

回答

0

docs

不帶引號的標識符必須與數據庫字符集字母開頭。帶引號的標識符可以以任何字符開頭。

因此,如果要使用23914的模式名稱,則必須用雙引號括起來。