집 >데이터 베이스 >MySQL 튜토리얼 >테이블을 SQL Server UDF에 매개변수로 전달하려면 어떻게 해야 합니까?
테이블을 SQL Server UDF에 매개변수로 전달
SQL Server 스칼라 UDF에 테이블을 매개변수로 전달할 수 있습니다. 그러나 문서에 명시된 대로 특정 제한 사항이 적용됩니다. 즉, 타임스탬프를 제외한 모든 데이터 유형이 허용됩니다. 이러한 제한을 극복하기 위해 UDTT(사용자 정의 테이블 유형)를 생성할 수 있습니다.
다음은 TableType이라는 UDTT의 예입니다.
CREATE TYPE TableType AS TABLE ( LocationName VARCHAR(50) );
UDTT를 정의하면 해당 유형의 매개변수를 허용하는 함수:
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로 정의되어 있습니다. 이 함수를 사용하려면 UDTT의 변수를 생성하고 여기에 데이터를 삽입할 수 있습니다.
DECLARE @myTable TableType; INSERT INTO @myTable(LocationName) VALUES('aaa'); SELECT * FROM @myTable;
이제 예제 함수를 호출하고 변수를 매개변수로 전달할 수 있습니다.
SELECT dbo.Example(@myTable);
테이블에서 CSV 값 목록을 반환해야 하는 특정 요구 사항에 맞게 함수를 수정할 수 있습니다. 또한 함수 내에서 null 및 중복 확인과 같은 필터링을 수행할 수 있습니다.
위 내용은 테이블을 SQL Server UDF에 매개변수로 전달하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!