2011-10-04 4 views
2

BINARY_CHECKSUM과 같이 사용되는 매개 변수로 expression을 사용하는 함수를 만들려고합니다. 특히, 필자는 매개 변수를 1 - N 열 이름 목록으로 지정합니다. SQL Server Management Studio의 개체 탐색기에서 BINARY_CHECKSUM (또는 해당 항목의 경우 MAX 또는 CHECKSUM)의 정의를 보면 매개 변수가 '식 (모든 유형)'으로 정의됩니다. 사용자 정의 함수가이를 에뮬레이션 할 수 있습니까? 구분 된 쉼표 이름 목록을 사용할 수는 있지만 '표현 (모든 유형)'에 대해 궁금합니다.사용자 정의 함수의 'Expression'매개 변수 데이터 형식

+0

가변 수의 인수를 받아들이는 UDF를? 나는 그것이 현재 가능하지 않다고 믿는다. – AakashM

+0

동의합니다. 저는 UDF가 다양한 인수를 허용하지 않는다고 확신합니다. 그러나 'Expression (any type)'매개 변수의 구현에 흥미가 있습니다. CHECKSUM 함수의 문서를 참조하여 내가 무엇을 참조하는지 확인하십시오. – bryantb

답변

0

당신은 그것을 이런 식으로 시도 할 수 있습니다 : 2005 이상 SQL 서버에 자신의 집계 함수 (같은 BINARY_CHECKSUM, COUNT 등) 작성하려는 경우

declare @cmd varchar(max) 
declare @columns varchar(max), @table_name sysname 

set @table_name = 'sys.objects' 
set @columns = '*' 

set @cmd = 'select top 1 binary_checksum('[email protected]+') as column_name from '[email protected]_name 
print @cmd 
exec (@cmd) 
+0

감사합니다.하지만 저는 내부 구조를 이해하려고 정말로 노력하고 있습니다. 어쩌면이 링크가 더 설명 될 것입니다 : http://t.co/cK9DIU1z – bryantb