2011-10-04 73 views
2

我正在嘗試創建一個函數,該函數的參數expressionBINARY_CHECKSUM一樣使用。具體來說,我希望我的參數是1到N列名稱的列表。當我在SQL Server Management Studio的對象資源管理器中查看BINARY_CHECKSUM(或MAX或CHECKSUM)的定義時,參數被定義爲'Expression(any type)' - 用戶定義的函數是否可以模擬這個?我知道我可以使用參數分隔列表的逗號名稱,但我很好奇'表達式(任何類型)'。用於用戶定義函數的'Expression'參數數據類型

+0

接受可變數量的參數,一個UDF?我相信這目前不可能。 – AakashM

+0

我同意 - 我確定UDF不能接受可變數量的參數。但是,我對'Expression(any type)'參數的實現很感興趣。看看CHECKSUM函數的文檔,看看我指的是什麼。 – bryantb

回答

0

你可以試試這樣說:

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

相關問題