집 >데이터 베이스 >MySQL 튜토리얼 >테이블을 SQL Server Scalar UDF에 매개 변수로 전달할 수 있나요?
스케일러 UDF에 테이블을 매개변수로 전달할 수 있나요?
예, 테이블을 스케일러 UDF에 매개변수로 전달할 수 있습니다. 단, 모든 테이블 유형이 지원되는 것은 아닙니다.
테이블 유형 제한
Microsoft 설명서에 따르면 CLR 사용자 정의 유형 및 사용자 정의 유형을 포함한 모든 데이터 유형이 지원됩니다. 테이블 유형은 타임스탬프 데이터 유형을 제외하고 매개변수로 사용할 수 있습니다.
사용자 정의 테이블 유형
테이블을 매개변수로 전달하려면 사용자 정의 테이블 유형을 생성해야 합니다. 예:
CREATE TYPE TableType AS TABLE (LocationName VARCHAR(50))
UDF 예
다음 UDF는 사용자 정의 테이블 유형을 매개변수로 사용합니다.
CREATE FUNCTION Example( @TableName TableType READONLY) RETURNS VARCHAR(50) AS BEGIN DECLARE @name VARCHAR(50) SELECT TOP 1 @name = LocationName FROM @TableName RETURN @name END
참고 매개변수는 READONLY로 지정되어야 합니다.
예 사용법
UDF를 사용하려면 사용자 정의 테이블 유형의 변수를 선언하고 여기에 데이터를 삽입하세요.
DECLARE @myTable TableType INSERT INTO @myTable(LocationName) VALUES('aaa')
그런 다음 UDF를 호출할 수 있습니다.
SELECT dbo.Example(@myTable)
테이블의 데이터 사용
UDF에 전달할 데이터가 테이블에 있는 경우 변수를 사용하여 데이터를 저장할 수 있습니다.
DECLARE @myTable TableType INSERT INTO @myTable(field_name) SELECT field_name_2 FROM my_other_table
그런 다음 변수를 UDF에 전달할 수 있습니다.
SELECT dbo.Example(@myTable)
위 내용은 테이블을 SQL Server Scalar UDF에 매개 변수로 전달할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!