首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

alter table 命令帮助!该怎么处理

2012-01-22 
alter table 命令帮助!请问altertable中我想删除一个默认值的约束我用ALTERTABLEtbl_preconcertdetailDROP

alter table 命令帮助!
请问   alter   table   中我想删除一个默认值的约束
我用ALTER   TABLE   tbl_preconcertdetail   DROP   CONSTRAINT   约束名
但是如果约束名必须是我写的脚本查询出来的话,该怎么写呢?(因为每个客户的约束名我都是让她随机产生的)

一下我写的代码有错:

declare   @dname   sysname     --定义变量,存放约束名,可以正常运行

set   @dname=   (select   SysObjects.name   from
(select   SysColumns.id   from   SysColumns,SysObjects   where   SysColumns.name   =   'autonumber '   and   SysColumns.id=SysObjects.id   and   SysObjects.name= 'tbl_preconcertdetail ')   as   sys1,SysObjects
where   sys1.id=SysObjects.parent_obj   and   SysObjects.type= 'D ')
--查询出某表某列相应的约束名   如:DF__tbl_preco__auton__29572725可以正常运行

ALTER   TABLE   tbl_preconcertdetail   DROP   CONSTRAINT   @dname
--但是这据说我语法错误,请帮我。

谢谢


[解决办法]
ALTER TABLE tbl_preconcertdetail DROP CONSTRAINT @dname
-->

exec( '
ALTER TABLE tbl_preconcertdetail DROP CONSTRAINT '+@dname
)


[解决办法]
declare @s varchar(1000)
set @s= 'ALTER TABLE tbl_preconcertdetail DROP CONSTRAINT @dname '
EXEC(@s)
[解决办法]
exec ( 'ALTER TABLE tbl_preconcertdetail DROP CONSTRAINT ' +@dname)
这样执行试试...

热点排行
Bad Request.