动态sql无法正常工作。经常sql工作

时间:2017-01-06 04:12:07

标签: sql sql-server

我正在创建两个表并尝试使用sql和动态sql执行select * into。我不确定为什么动态sql中的相同查询会给我带来错误。你能帮忙吗

注意:我知道我可以使用create table并插入以使其工作。但我的问题是为什么下面没有使用动态sql

create table emp_info (emp_id int,sal float) 
create table emp_sal(emp_id int,sal float)

insert into emp_info values (1,1000)
insert into emp_info values (2,1000)
insert into emp_sal values (1,1000)
insert into emp_sal values (2,1000)

BEGIN   
   SELECT A.emp_id,A.sal  into  #EE_tmp
   FROM emp_info A, emp_sal B   
   WHERE A.emp_id = 1   AND A.emp_id = B.emp_id   
   select * from  #EE_tmp 
 END 
  

结果:emp_id sal 1 1,000

BEGIN
    DECLARE @dsql varchar(10000)
    SET @dsql = ' SELECT A.emp_id,A.sal  into  #EE_tmp'
                 + ' FROM emp_info A, emp_sal B'
                 + '  WHERE A.emp_id = 1'
                 +'  AND A.emp_id = B.emp_id'    
                 EXECUTE(@dsql)      
                 select * from #EE_tmp
 END

结果:

  

错误:找不到#EE_tmp。指定owner.objectname或使用sp_help   检查对象是否存在(sp_help可能产生大量输出)。

0 个答案:

没有答案