无法在SQL 2005系统数据库中执行的T-SQL语句(XML处理)

原创 2007年05月12日 12:27:00

表现:

下面的代码, 在兼容性级别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

 

SQLServer2005 XML在T-SQL查询中的典型应用

/* SQLServer2005 XML在T-SQL查询中的典型应用 整理:fcuandy 时间:2008.11.7 前言: 此文只讲xml数据类型及相应的一些操作方法在解决日常T-SQL...

【SqlServer2005+ 查询优化】MSSQL优化SQL语句 提高数据库的访问性能

出处:熬夜的虫子 作者:熬夜的虫子日期:2011-12-10 0:20:56 [大 中 小] 评论: 0 | 我要发表看法 目录 1、什么是执行计划?执行计划是依赖于什么信息。 2、...

SQL Server 2005 数据库语句

  • 2012年12月24日 18:12
  • 4KB
  • 下载

Inside Microsoft SQL Server 2005: T-SQL Programming (数据类型|第一章) XML数据类型

SQL Server 2005引入了原生的XML数据类型与相关的XML支持。 关系数据库的XML支持 关系数据库为什么需要支持XML呢?随着XML的使用越来越广泛,人们对XML的储存、分析...

SQLServe_使用T-SQL语句创建数据库、创建表以及表的约束

if exists(select * from sysdatabases where name='school') begin drop database school end go create...

T-SQL 语句(一)—— 数据库操作

T-SQL 语句(一)—— 数据库操作

T-SQL语句操作数据库

创建数据库 create database 数据库名 on --数据文件 primary --如果没有指明primary,则默认第一个文件是主文件 ( name = 逻辑文件名, filename =...

在T-SQL语句中访问远程数据库

1、启用Ad Hoc Distributed Queries 在使用openrowset/opendatasource前搜先要启用Ad Hoc Distributed Queries服务,因为这个服务...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:无法在SQL 2005系统数据库中执行的T-SQL语句(XML处理)
举报原因:
原因补充:

(最多只允许输入30个字)