2013-04-28 73 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的模式名称,则必须用双引号括起来。