SQL Server UDF에 테이블 매개변수 전달
문제:
전달이 가능합니까? SQL Server의 스케일러 값 UDF(사용자 정의 함수)에 대한 매개 변수인 테이블 테이블에 단일 열만 포함된다는 제한이 있습니까?
답변:
예, 테이블 매개변수를 UDF에 전달할 수 있습니다. 테이블은 타임스탬프 데이터 유형이 아닙니다. 이를 위해서는 사용자 정의 테이블 유형을 활용해야 합니다.
사용자 정의 테이블 유형 및 UDF 사용 예:
CREATE TYPE TableType AS TABLE (LocationName VARCHAR(50)) GO 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 GO DECLARE @myTable TableType INSERT INTO @myTable(LocationName) VALUES('aaa') SELECT * FROM @myTable SELECT dbo.Example(@myTable)
데이터 처리 테이블에서:
기존 테이블의 데이터 테이블을 사용자 정의 테이블 유형으로 전달하려면 변수에 다음 코드를 사용할 수 있습니다:
DECLARE @myTable TableType INSERT INTO @myTable(field_name) SELECT field_name_2 FROM my_other_table
위 내용은 SQL Server 스칼라 값 UDF가 단일 열 테이블 매개 변수를 허용할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!