SQLServer2005中的XML类型的变量作为存储过程的参数问题

拓狼 2005-11-09 04:29:54
帮助文档中在举例的时候说,可以 向存储过程传递一个XML数据类型的参数,示例如下:
CREATE PROCEDURE SampleProc(XmlDoc xml) as ...

有个问题要问:难道在传递XML数据类型的参数的时候变量名称就不加@了吗?XmlDoc前面应该有@啊?!于是我查看了示例数据库的其他存储过程,用到的参数都带@,不过不是XML类型的,请DX指教。
...全文
356 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjcxc 2005-12-14
  • 打赏
  • 举报
回复
楼主的写法像是创建调用CLR存储过程时的用法.

普通的存储过程不能那样. 另外, XML可以是存储过程参数.


use tempdb
go

create proc p
@a xml
as
select @a
go

exec p '<a></a>'
go

drop proc p
eyumumc 2005-12-11
  • 打赏
  • 举报
回复
@ parameter
[ type_schema_name. ] data_type
For numbered stored procedures, the data type cannot be xml or a CLR user-defined type.
xml是不能作为存储过程的参数类型的。
huntfox 2005-11-22
  • 打赏
  • 举报
回复
en
KAI3000 2005-11-16
  • 打赏
  • 举报
回复
对,同意楼上的。变量必须加@
superhasty 2005-11-09
  • 打赏
  • 举报
回复
@变量名 是SQLServer的基本规则,不会改变。

正确的是:
CREATE PROCEDURE GetData(@xmlDoc xml) AS
----sp code
GO

6,129

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 新技术前沿
社区管理员
  • 新技术前沿社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧