您的位置:程序门 -> ms-sql server -> 基础类



帮忙看下这个存储过程(在线等)


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


帮忙看下这个存储过程(在线等)[已结贴,结贴人:daneilhao]
发表于:2007-09-05 18:18:17 楼主
set   ansi_nulls   on
set   quoted_identifier   on
go

alter   procedure   [sys].[sp_addextendedproperty]
@name   sysname,
@value   sql_variant =   null,
@level0type varchar(128) =   null,
@level0name sysname =   null,
@level1type varchar(128) =   null,
@level1name sysname =   null,
@level2type varchar(128) =   null,
@level2name sysname =   null
as

declare   @ret   int

if   datalength(@value)   >   7500
begin
raiserror(15097,-1,-1)
return   1
end

if   @name   is   null
begin
raiserror(15600,-1,-1, 'sp_addextendedproperty ')
return   (1)
end

EXECute   @ret   =   sys.sp_validname   @name
if   (@ret   <>   0)
begin
raiserror(15600,-1,-1, 'sp_addextendedproperty ')
return   (1)
end
               

begin   transaction
save   transaction   sp_addextendedproperty

begin
EXEC   %%extendedpropertyset().addvalue(name   =   @name,   value   =   @value,   level0type   =   @level0type,   level0name   =   @level0name,   level1type   =   @level1type,   level1name   =   @level1name,   level2type   =   @level2type,   level2name   =   @level2name)
if   @@error   <>   0
begin
rollback   transaction   sp_addextendedproperty
commit   transaction
return   (1)
end
end

commit   transaction
return   (0)

上面的存储过程在sql   server   2005中是正常的,在sql   server   2000中提示错误“第   39   行:   '% '   附近有语法错误。”
大家帮忙看看啊,谢谢
发表于:2007-09-05 18:22:021楼 得分:0
第一次看存储过程,大家帮忙看看啊,
发表于:2007-09-05 18:50:532楼 得分:20
EXEC   %%extendedpropertyset().addvalue()

sql2000是不支持这样的用法的,clr是sql2005的新功能
发表于:2007-09-05 18:51:533楼 得分:20
在sql   server   2005中也报错:
msg   102,   level   15,   state   1,   procedure   sp_addextendedproperty,   line   39
incorrect   syntax   near   '% '.
发表于:2007-09-05 18:56:214楼 得分:0
不是把,应该怎么写呢?
发表于:2007-09-05 19:29:285楼 得分:0
郁闷,这个存储过程在sql   server2005中果真出错了。那当时怎么建立的存储过程。
我现在把这个导入导sql   server2000中出错就不能新建存储过程
发表于:2007-09-12 14:58:326楼 得分:0
谢谢,是sql   server自带的存储过程,重装sql   server   就好啦


快速检索

最新资讯
热门点击