我想做
SELECT @ var1,@ var2
INTO #myTempTable
我一直收到错误
There is already an object named '#myTempTable' in the database.
我的代码
CREATE TABLE #myTempTable
(
[value1] varchar(10),
[value2] varchar(20)
)
declare @var1 varchar(10), @var2 varchar(20)
SELECT @var1 = [value1], @var2 = [value2]
FROM somePermTable
where Condition = true
SELECT @var1, @var2 INTO #myTempTable
drop table #myTempTable
我做错了什么?
答案 0 :(得分:1)
INSERT INTO #TempTables SELECT @var1, @var2
Select ... into
创建一个新表(已在您的情况下创建)。 Insert ... select
将数据插入现有表格。
<强>更新强>
更多解释。
SQL Server不允许创建具有相同名称的2个表。在您的情况下,您有两次创建的本地临时表(第一次CREATE TABLE
,第二次SELECT ... INTO..
),因此您收到错误。
取决于你想要什么你可以
1.下桌并再次创建
2.从中删除所有数据(如果有)并使用INSERT INTO... SELECT
答案 1 :(得分:0)
您必须在以后添加drop table @myTempTable,因此SQL Server仍会看到此表。打开一个新的查询窗口并执行
drop table #myTempTable
然后您可以执行原始命令:
CREATE TABLE #myTempTable
(
[value1] varchar(10),
[value2] varchar(20)
)
declare @var1 varchar(10), @var2 varchar(20)
SELECT @var1 = [value1], @var2 = [value2]
FROM somePermTable
where Condition = true
SELECT @var1, @var2 INTO #myTempTable
drop table #myTempTable
看起来你已经有一个临时表,只需先删除它
DROP TABLE #myTempTable
答案 2 :(得分:-1)
declare @R(empno number,ename varchar(30),sal number);
insert into @R(select empno,ename,sal from emp where deptno=20);
如何将上述SQl服务器代码转换为Oracle PL SQL。 任何人都可以建议我们必须使用什么概念。