create procedure DropConst @T_Name varchar(20),@F_Name varchar(20)
as
declare @pk sysname
declare @sql varchar(1000)
Select @pk = name from sysobjects where parent_obj = object_ID(@F_Name) and xtype = 'pk'
set @sql='alter table @T_Name drop constraint '+@pk
exec (@sql)

解决方案 »

  1.   

    @T_Name ,@F_Name 代表什么
      

  2.   


    create procedure pro_DropConst 
    @T_Name varchar(20),
    @F_Name varchar(20)
    as
    declare @pk sysname
    Select @pk = name from sysobjects where parent_obj = object_ID(@F_Name) and xtype = 'pk'
    exec('alter table '+@T_Name+' drop constraint '+@pk)
    go
    调用:
    pro_DropConst 'tbl_t','tbl_t'
      

  3.   

    alter table @T_Name drop constraint @pk
    这句有错误,transact-sql中变量不能作为表名字,索引,过程等。