使用vb.net在oracle中创建函数[重复]
Posted
技术标签:
【中文标题】使用vb.net在oracle中创建函数[重复]【英文标题】:creating function in oracle using vb.net [duplicate] 【发布时间】:2013-04-28 09:01:37 【问题描述】:我想在使用循环的许多数据库中使用 vb.net 在 oracle 中创建一个函数。我正在使用这个查询
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)
问题是它正在创建函数但有错误.. 在 oracle 中它会自动在函数名称之前添加模式名称。我已经通过 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)
如果我在 toad 编辑器中复制此代码并手动运行它,它会创建没有错误的函数..
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)
在不带双引号的情况下手动运行时会出错。
【问题讨论】:
为什么要使用VB前端来创建存储过程? 【参考方案1】:来自docs:
不带引号的标识符必须以数据库字符集中的字母字符开头。带引号的标识符可以以任何字符开头。
因此,如果您想使用 23914 的架构名称,则必须用双引号括起来。
【讨论】:
以上是关于使用vb.net在oracle中创建函数[重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何在 SQL Server 表中创建图像列并使用 VB 在 ASP.NET 中检索它