【发布时间】:2021-11-08 21:22:56
【问题描述】:
我正在尝试创建一个从 ORACLE 数据库中读取表并返回序列号的简单函数。我想直接返回它,或者将值存储在@cwpSeq 中并将其返回给调用程序。
现在我收到错误:
标量值函数中的 RETURN 语句必须包含一个参数。
谁能帮帮我。
create function dbo.get_cwpSeq_from_oracle(@COIL nvarchar(100) )
returns int as
begin
DECLARE @cwpSeq int, @SQL nvarchar(1000);
set @SQL = N'select * from openquery(DEV, 'select cwp_seq from apps.custom_wip_pieces where lot_number = ''' + @COIL + '')';
return execute sp_executesql @SQL;
end;
【问题讨论】:
-
selct * 永远不能返回一个整数,所以请说明你到底想返回什么
-
不能在函数中使用dynamicSql,应该考虑使用带输出参数的过程。
标签: sql-server openquery