Tuesday, March 2, 2010

Returning Data into a Table Variable

CREATE TABLE dbo.UDFTestTable (Col1 int, Col2 nvarchar(10))GOINSERT dbo.UDFTestTable(Col1,Col2) VALUES (1, N'One')INSERT dbo.UDFTestTable(Col1,Col2) VALUES (2, N'Two')INSERT dbo.UDFTestTable(Col1,Col2) VALUES (3, N'Three')INSERT dbo.UDFTestTable(Col1,Col2) VALUES (4, N'Four')GO
CREATE FUNCTION dbo.UDFReturnsTable (@MinRange int = 1, @MaxRange int = 4)-- Procedure BRETURNS TABLEAS RETURN(SELECT A.Col2 AS N'TextNumber' FROM dbo.UDFTestTable AS A WHERE A.Col1 BETWEEN @MinRange AND @MaxRange)GO
CREATE PROCEDURE dbo.MySP_CallsUDF-- Procedure AAS DECLARE @MyTableVar TABLE (MyTextName NVARCHAR(10)) -- Call the UDF. Note the use of the explicit default value. INSERT @MyTableVar SELECT A.TextNumber FROM dbo.UDFReturnsTable(2,default) AS A SELECT * FROM @MyTableVarGO
-- And see what happens.EXEC dbo.MySP_CallsUDF

No comments:

Post a Comment