2012-08-01 33 views

回答

2

不,必須使用模式名稱引用SQL函數,並且必須是SELECT語句相應部分的一部分。對於標量函數,這是類似於SELECT dbo.MyLookupFunction(12)。對於一個表值函數,SELECT columnA, columnB, columnC FROM dbo.MyTableLookupFunction(12)。有關SQL中函數的更多信息,請參見CREATE FUNCTION (Transact-SQL)Executing User-Defined Functions (Database Engine)

當然,Java代碼與任何其他查詢相同。

+0

當我嘗試'SELECT dbo.MyLookupFunction(12)',我得到以下異常,'com.microsoft.sqlserver.jdbc.SQLServerException:值沒有設置爲參數編號1.' – mre 2012-08-01 18:47:45

+1

12只是一個例子,如果您在使用java代碼時使用參數,請嘗試將12替換爲?並執行它。 Java的這些類希望持有者能夠匹配參數。 SQL中的參數可以用2種方式表示,不使用?命名,而使用@parametername命名。 – JamieSee 2012-08-01 18:54:28

+0

我正在使用'?'字符,但它仍然不起作用。 'SELECT dbo.MyLookupFunction(?,?)'有效嗎? – mre 2012-08-01 19:31:37

相關問題