我正在创建两个表并尝试使用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可能产生大量输出)。