Nhận lỗi khi cố gắng sử dụng câu lệnh Chọn trong một hàm. Lỗi khẳng định:Lỗi nhận "Chọn câu lệnh được bao gồm trong một hàm không thể trả lại dữ liệu cho khách hàng"
Msg 444, Level 16, State 2, Thủ tục JDE_GetWhereClause_test, Line 26
Chọn báo cáo bao gồm trong một chức năng không thể trả lại dữ liệu cho khách hàng.
Bất kỳ ý tưởng nào?
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
Bằng cách này, bạn có thể trao đổi các thứ hai 'lấy tuyên bố next' với 'thiết @ResultVar ...' như bạn bỏ qua hàng đầu tiên và sử dụng hàng cuối cùng hai lần – Axarydax