但调用带返回值的函数却不成功,提示“FUN1不是过程或尚未定义”
下面写了最简单的函数,请大家帮忙,怎么才能调用此函数,并输出返回值
CREATE OR REPLACE FUNCTION "SA"."FUN1" (
i in integer,
o out integer
)
return integer
as
begin
o:=i+1;
return o;
end;
-----------------------------------------------------------
不懂的也请帮忙顶一下,谢谢
22 个解决方案
#1
1、FUN1的权限你有不?
2、如果有权限,那是和ORACLE系统的程序不一样的,ORACLE系统支持,但ASP模式不支持!
#2
怎么设置权限
我写的存储过程能调用,但带返回值的函数就不行为什么
我写的存储过程能调用,但带返回值的函数就不行为什么
#3
源码:
set Con=Server.CreateObject("Adodb.connection")
Con.Open "Provider=OraOLEDB.Oracle;data source=dbserver;User ID=sa;password=12345;"
Set RS =Server.CreateObject("ADODB.RecordSet")
Set CMD=Server.CreateObject("ADODB.Command")
CMD.ActiveConnection=Con
CMD.CommandType=adCmdStoredProc
'设置Command执行的是存储过程。
CMD.Parameters.Append CMD.CreateParameter("i",adINTEGER, adParamInput,30,"201")
'给存储过程输入变量i赋值
CMD.Parameters.Append CMD.CreateParameter("o",adInteger ,adParamOutput)
'设置输出变量。
getLastMessages="fun1"
CMD.CommandText=getLastMessages
'指定要调用的存储过程名。
CMD.execute
'调用执行存储过程。
getLastMessage=CMD( o )'取得输出值
CMD.ActiveConnection=Nothing
Set CMD=Nothing
set Con=Server.CreateObject("Adodb.connection")
Con.Open "Provider=OraOLEDB.Oracle;data source=dbserver;User ID=sa;password=12345;"
Set RS =Server.CreateObject("ADODB.RecordSet")
Set CMD=Server.CreateObject("ADODB.Command")
CMD.ActiveConnection=Con
CMD.CommandType=adCmdStoredProc
'设置Command执行的是存储过程。
CMD.Parameters.Append CMD.CreateParameter("i",adINTEGER, adParamInput,30,"201")
'给存储过程输入变量i赋值
CMD.Parameters.Append CMD.CreateParameter("o",adInteger ,adParamOutput)
'设置输出变量。
getLastMessages="fun1"
CMD.CommandText=getLastMessages
'指定要调用的存储过程名。
CMD.execute
'调用执行存储过程。
getLastMessage=CMD( o )'取得输出值
CMD.ActiveConnection=Nothing
Set CMD=Nothing
#4
up
#5
帮你顶
#6
function can't be called by ASP like stord procedure
you must call it by a stored procedure indirectly.
you must call it by a stored procedure indirectly.
#7
三角猫
应该怎么调用,能举个例子吗
应该怎么调用,能举个例子吗
#8
帮你顶
#9
我也自己顶一下大家帮个忙啊
#10
还有人帮我顶吗
#11
帮你顶吧 我不会
#12
有些人说这样调用
select fid,fusername,fun_videoid(femail) from t_webuserinfo
行吗,我试了怎么不行
select fid,fusername,fun_videoid(femail) from t_webuserinfo
行吗,我试了怎么不行
#13
帮我顶上去
#14
你的函数名不是fun1吗,怎么变成了fun_videoid
上面这样子应该是可以的,我也是这么用函数的
可以先试一个简单的
select fun1(5) from dual
上面这样子应该是可以的,我也是这么用函数的
可以先试一个简单的
select fun1(5) from dual
#15
TO:骗子李三
我只是举个例子,用select 可以了
但如果函数返回的是游标类型,ASP中怎么定义啊
我只是举个例子,用select 可以了
但如果函数返回的是游标类型,ASP中怎么定义啊
#16
下面这个函数,怎么在ASP能调用并取得游标类型的返回值
---------------------------------
create or replace package pkg_test
as
type myCursor is ref cursor;
function get(p_id number) return myCursor;
end pkg_test;
create or replace package body pkg_test
as
function get(p_id number) return myCursor is
rc myCursor;
strsql varchar2(200);
begin
if p_id=0 then
open rc for select a.user_name from fnd_user a ;
else
strsql:='select a.user_name from fnd_user a where a.user_id=:p_id';
open rc for strsql using p_id;
end if;
return rc;
end get;
end pkg_test;
---------------------------------
create or replace package pkg_test
as
type myCursor is ref cursor;
function get(p_id number) return myCursor;
end pkg_test;
create or replace package body pkg_test
as
function get(p_id number) return myCursor is
rc myCursor;
strsql varchar2(200);
begin
if p_id=0 then
open rc for select a.user_name from fnd_user a ;
else
strsql:='select a.user_name from fnd_user a where a.user_id=:p_id';
open rc for strsql using p_id;
end if;
return rc;
end get;
end pkg_test;
#17
ASP中怎么调用这个函数
#18
帮不到咯~恐龙^_^ 帮你up下
#19
UP
#20
帮顶了只能。。。
#21
自己解决结贴
#22
我不懂,帮你顶。
#1
1、FUN1的权限你有不?
2、如果有权限,那是和ORACLE系统的程序不一样的,ORACLE系统支持,但ASP模式不支持!
#2
怎么设置权限
我写的存储过程能调用,但带返回值的函数就不行为什么
我写的存储过程能调用,但带返回值的函数就不行为什么
#3
源码:
set Con=Server.CreateObject("Adodb.connection")
Con.Open "Provider=OraOLEDB.Oracle;data source=dbserver;User ID=sa;password=12345;"
Set RS =Server.CreateObject("ADODB.RecordSet")
Set CMD=Server.CreateObject("ADODB.Command")
CMD.ActiveConnection=Con
CMD.CommandType=adCmdStoredProc
'设置Command执行的是存储过程。
CMD.Parameters.Append CMD.CreateParameter("i",adINTEGER, adParamInput,30,"201")
'给存储过程输入变量i赋值
CMD.Parameters.Append CMD.CreateParameter("o",adInteger ,adParamOutput)
'设置输出变量。
getLastMessages="fun1"
CMD.CommandText=getLastMessages
'指定要调用的存储过程名。
CMD.execute
'调用执行存储过程。
getLastMessage=CMD( o )'取得输出值
CMD.ActiveConnection=Nothing
Set CMD=Nothing
set Con=Server.CreateObject("Adodb.connection")
Con.Open "Provider=OraOLEDB.Oracle;data source=dbserver;User ID=sa;password=12345;"
Set RS =Server.CreateObject("ADODB.RecordSet")
Set CMD=Server.CreateObject("ADODB.Command")
CMD.ActiveConnection=Con
CMD.CommandType=adCmdStoredProc
'设置Command执行的是存储过程。
CMD.Parameters.Append CMD.CreateParameter("i",adINTEGER, adParamInput,30,"201")
'给存储过程输入变量i赋值
CMD.Parameters.Append CMD.CreateParameter("o",adInteger ,adParamOutput)
'设置输出变量。
getLastMessages="fun1"
CMD.CommandText=getLastMessages
'指定要调用的存储过程名。
CMD.execute
'调用执行存储过程。
getLastMessage=CMD( o )'取得输出值
CMD.ActiveConnection=Nothing
Set CMD=Nothing
#4
up
#5
帮你顶
#6
function can't be called by ASP like stord procedure
you must call it by a stored procedure indirectly.
you must call it by a stored procedure indirectly.
#7
三角猫
应该怎么调用,能举个例子吗
应该怎么调用,能举个例子吗
#8
帮你顶
#9
我也自己顶一下大家帮个忙啊
#10
还有人帮我顶吗
#11
帮你顶吧 我不会
#12
有些人说这样调用
select fid,fusername,fun_videoid(femail) from t_webuserinfo
行吗,我试了怎么不行
select fid,fusername,fun_videoid(femail) from t_webuserinfo
行吗,我试了怎么不行
#13
帮我顶上去
#14
你的函数名不是fun1吗,怎么变成了fun_videoid
上面这样子应该是可以的,我也是这么用函数的
可以先试一个简单的
select fun1(5) from dual
上面这样子应该是可以的,我也是这么用函数的
可以先试一个简单的
select fun1(5) from dual
#15
TO:骗子李三
我只是举个例子,用select 可以了
但如果函数返回的是游标类型,ASP中怎么定义啊
我只是举个例子,用select 可以了
但如果函数返回的是游标类型,ASP中怎么定义啊
#16
下面这个函数,怎么在ASP能调用并取得游标类型的返回值
---------------------------------
create or replace package pkg_test
as
type myCursor is ref cursor;
function get(p_id number) return myCursor;
end pkg_test;
create or replace package body pkg_test
as
function get(p_id number) return myCursor is
rc myCursor;
strsql varchar2(200);
begin
if p_id=0 then
open rc for select a.user_name from fnd_user a ;
else
strsql:='select a.user_name from fnd_user a where a.user_id=:p_id';
open rc for strsql using p_id;
end if;
return rc;
end get;
end pkg_test;
---------------------------------
create or replace package pkg_test
as
type myCursor is ref cursor;
function get(p_id number) return myCursor;
end pkg_test;
create or replace package body pkg_test
as
function get(p_id number) return myCursor is
rc myCursor;
strsql varchar2(200);
begin
if p_id=0 then
open rc for select a.user_name from fnd_user a ;
else
strsql:='select a.user_name from fnd_user a where a.user_id=:p_id';
open rc for strsql using p_id;
end if;
return rc;
end get;
end pkg_test;
#17
ASP中怎么调用这个函数
#18
帮不到咯~恐龙^_^ 帮你up下
#19
UP
#20
帮顶了只能。。。
#21
自己解决结贴
#22
我不懂,帮你顶。