set @sql = N'select id=identity(int,1,1) , stepCode,lcType,zhcl_sj,isEnd,isdelete  into ##lins_jtsjtable  from ' + @tblName + N' where isEnd=0 and isdelete=0'
exec sp_executesql @sql我的目的:创建一个临时表,然后获取里面的数据,但是由于@tblName是拼接出来的,所以只能用动态SQL语句来创建临时表,但是用局部临时表,我就获取不到数值,只能创建全局临时表,但是我创建的时候,数据库出错:
服务器: 消息 2714,级别 16,状态 6,行 1
数据库中已存在名为 '##lins_jtsjtable' 的对象。请问我该怎么办,是不是哪里定义错了,我创建局部临时表是可以的

解决方案 »

  1.   

    服务器: 消息 2714,级别 16,状态 6,行 1
    数据库中已存在名为 '##lins_jtsjtable' 的对象。-------------------
    數據庫中已經有了這個全局臨時表,換過一個名試試
      

  2.   

    declare @tblName varchar(100)
    declare @sql varchar(200)
    set @sql = N'select id=identity(int,1,1) , stepCode,lcType,zhcl_sj,isEnd,isdelete  into ##lins_jtsjtable  from ' + @tblName + N' where isEnd=0 and isdelete=0'
    exec (@sql)我試過了,沒有錯的
      

  3.   

    if   exists   (select * from dbo.sysobjects where id object_id(N'##ls_jtsjtable'))
    drop procedure  ##ls_jtsjtable为什么这个不起作用,那段代码是在一个循环中的,所以我每次创建的时候我得先删除。我是在循环里面在套循环。
      

  4.   

    if exists (select * from dbo.sysobjects where id= object_id(N'##ls_jtsjtable'))
    drop procedure ##ls_jtsjtable
      

  5.   

    你打錯了吧drop table ##ls_jtsjtable