欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【无法在SQL 2005系统数据库中执行的T-SQL语句(XML处理)】,下面是详细的分享!
无法在SQL 2005系统数据库中执行的T-SQL语句(XML处理)
下面的代码, 在兼容性级别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
以上所分享的是关于无法在SQL 2005系统数据库中执行的T-SQL语句(XML处理),下面是编辑为你推荐的有价值的用户互动:
相关问题:在sqlserver2005中运行如下t-sql语句,假定sales表...
答:答案为D,原因如下这个sql语句里面声明了2个事务,但是先执行的是事务b,在事务b中,最后一个qty小于60,当然包括小于30,40,50的数据。所以最后的结果是大于或者等于60. >>详细
相关问题:我sql server2005 附加数据库出现一下错误 如何解...
答:SQL Server Version nternal Database Version SQL Server 2008 R2 665 SQL Server 2008 661 SQL Server 2005 SP2 612 + with vardecimal enabled SQL Server 2005 611 SQL Server 2000 539 SQL Server 7 515 ---------------------------------... >>详细
相关问题:SQL Server2008附加2005数据库失败,执行Transat-S...
答:2008附加2005数据库是可以的,你最好把错误贴完整,同时自己查一下自己的数据库版本 >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
