1、
declare  cursor1 cursor for select name from sysobjects where xtype='u' and status>0 and (name like 'card_%' or name like 'recard_')
declare
@i varchar(1000)
open cursor1
fetch cursor1 into @i
while @@fetch_status=0
begin
  exec('drop table '+@i)
  fetch cursor1 into @i
end
close cursor1
deallocate cursor1

解决方案 »

  1.   

    2、create proc @tablename
    as
    begin
    exec('create table '+@tablename+'(a int)')
    end
      

  2.   

    第一个问题我看明白了,第二个proc是指存储过程吗?
    create procedure @tablename
    as
    begin
    exec('create table '+@tablename+'(a int)')
    end在SQL Server是通不过的?
      

  3.   

    create procedure proc_name @tablename
    as
    begin
    exec('create table '+@tablename+'(a int)')
    end
      

  4.   

    up
    服务器: 消息 156,级别 15,状态 1,过程 proc_name,行 3
    在关键字 'begin' 附近有语法错误。
    服务器: 消息 137,级别 15,状态 1,过程 proc_name,行 4
    必须声明变量 '@tablename'。
      

  5.   

    说能回答是哪错了?
    create procedure proc_name @tablename
    as
    begin
    exec('create table '+@tablename+'(a int)')
    end
      

  6.   

    create procedure proc_name 
    @tablename varchar(50)
    as
    begin
    exec('create table '+@tablename+'(a int)')
    end
      

  7.   

    --查看存储过程定义的文本内容
    sp_helptext sp_createcard
    --查看存储过程引用数据表的情况
    sp_depends  sp_createcard
    --查看数据表被存储过程应用的情况
    --sp_depends card_clang---调用存储过程
    drop table testtable
    exec sp_createcard 'testtable'
    select * from testtable
    select * from testtable 
    看到的属性列比建立表时候再存储过程中指定的要少?为什么为什么为什么为什么为什么为什么为什么为什么??