私は表関数が、エラーを返したいが関数内で副作用オペレータ「INSERTのEXEC」のストアドプロシージャを使用せずにテーブル関数の戻り値execを返す方法はありますか?
無効な使用です。
私のコード:sp_executesql
含む
CREATE FUNCTION [dbo].[Fn_GetTable]
(@ID AS NVARCHAR(MAX))
RETURNS
@Tbl TABLE (ID NVARCHAR(MAX))
AS
BEGIN
DECLARE @str AS NVARCHAR(MAX)
SET @str = 'SELECT * FROM support WHERE support IN ('[email protected]+')'
INSERT INTO @Tbl (ID)
EXEC sp_executesql @str
RETURN
END
としてそれを使用します。 –
@MartinSmith UDTテーブルは、リストをパラメータとして渡すための適切なツールです。 – Serg