使用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中创建函数[重复]的主要内容,如果未能解决你的问题,请参考以下文章

使用 VB NET 在访问外部调用访问函数

如何在 SQL Server 表中创建图像列并使用 VB 在 ASP.NET 中检索它

如何在 VB.NET 中创建具有隐式实现的接口

在 Visual Studio 2010 的 vb.net 中创建钻取 rdlc 报告

在 VB.NET 中创建 DLNA 服务器/服务 [关闭]

使用参数在oracle中创建视图[重复]