Ank*_*kur 15 sql sql-server select function
尝试在函数中使用Select语句时收到错误.错误说明:
消息444,级别16,状态2,过程JDE_GetWhereClause_test,行26
函数中包含的Select语句不能将数据返回给客户端.
有任何想法吗?
CREATE FUNCTION [dbo].[JDE_GetWhereClause_test]
(
@tablename as varchar
)
RETURNS varchar(max)
AS
BEGIN
-- Declare the return variable here
Declare @ResultVar as varchar(max)
-- Add the T-SQL statements to compute the return value here
set @tablename = 'F0101'
Declare @Sql nvarchar(max)
Declare my_cur cursor for
SELECT fsuser FROM dbo.JDE_ExRowSecurity where fsuser = fsuser;
Declare @fsuser as nchar(15)
open my_cur;
fetch next from my_cur;
while @@fetch_status = 0
begin
fetch next from my_cur into @fsuser;
set @ResultVar += ',' + @fsuser;
end;
close my_cur;
deallocate my_cur;
-- Return the result of the function
RETURN @ResultVar
END
Run Code Online (Sandbox Code Playgroud)
AjV*_*Jsy 12
尝试玩像......
CREATE FUNCTION [dbo].[JDE_GetWhereClause_test]
(
@tablename as varchar
)
RETURNS varchar(max)
AS
BEGIN
-- Declare the return variable here
Declare @ResultVar as varchar(max)
-- Add the T-SQL statements to compute the return value here
set @ResultVar = (select STUFF((SELECT ',', fsuser as [text()]
FROM dbo.JDE_ExRowSecurity
FOR XML PATH ('')), 1, 1, '') as blah)
-- Return the result of the function
RETURN @ResultVar
END
Run Code Online (Sandbox Code Playgroud)
select 'Answer is: '+[dbo].[JDE_GetWhereClause_test]('whatever')