程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> 無法在SQL 2005系統數據庫中執行的T-SQL語句(XML處理)

無法在SQL 2005系統數據庫中執行的T-SQL語句(XML處理)

編輯:關於MYSQL數據庫

下面的代碼, 在兼容性級別90的所有用戶數據庫和tempdb庫中都能執行, 但無法在系統數據庫中執行, 執行會收到如下錯誤:

Msg 4121, Level 16, State 1, Line 2

Cannot find either column "dbo" or the user-defined function or aggregate "dbo.f_test", or the name is ambiguous.

看來系統數據庫中做東西有門檻了, 不過, 如果不在計算列中引用函數, 直接在查詢中引用函數是沒有問題的, 所以不知道是否應該算 BUG

CREATE FUNCTION dbo.f_test(

    @value XML

)RETURNS int

AS

BEGIN

    RETURN @value.value('(//*)[1]', 'int')

END

GO

 

CREATE TABLE #(

    col1 XML,

    col2 as dbo.f_test(col1)

)

GO

 

DROP TABLE #

DROP FUNCTION dbo.f_test


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved