iT邦幫忙

0

MSSQL FUNCTION TABLE 內 不能用DECLARE

  • 分享至 

  • xImage

您好:
若我加入declare 後就有問題
請問,於function 中不能再有 declare 嗎?
謝謝

如下

ALTER FUNCTION FN_XXX(@no varchar(10))
returns table
As
return (
	declare @xx varchar(6);

	SELECT no,na,wdate from X 
	WHERE no=@no
);
GO

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

1
pilipala
iT邦研究生 5 級 ‧ 2024-08-01 19:19:05
最佳解答

寫成 multi statement table valued functions 才行

0
純真的人
iT邦大師 1 級 ‧ 2024-08-01 21:53:52

??

我記得的可以寫@@...

參考~

create function dbo.SetFN(
	@no varchar(10)
)
Returns @Tmp table(
	no nvarchar(50)
	,na nvarchar(50)
	,wdate date
)
as
begin
	declare @xx varchar(6);

	insert into @Tmp
	SELECT no,na,wdate 
	from X 
	WHERE no=@no

	Return
end

測試查詢~

select *
from dbo.SetFN('aaa')
noway iT邦研究生 1 級 ‧ 2024-08-02 09:22:12 檢舉

您好:
我是用
returns table
As
return (


但您是用
Returns @Tmp table(
no nvarchar(50)
,na nvarchar(50)
,wdate date
)
as

兩個使用及效能會有差
謝謝

那個就是MSSQL規則~你改不了
不然你反映到微軟網站看看~有無辦法幫你解~

noway iT邦研究生 1 級 ‧ 2024-08-02 11:31:21 檢舉

沒關係,謝謝

我要發表回答

立即登入回答