在SQL Server中,我们可以使用select column1,column2 into #temp from tableName
的语法实现相应功能。但是,在Oracle数据库中,我无法写出同样的查询语句。
我想在Oracle数据库中将select/insert/delete/update或任何结果集存储到本地临时表中,我该如何实现这一功能呢?
我正在Oracle SQL Developer工具中执行以下查询:
select * into #temp
from bmi;
但是我遇到了以下错误,请帮忙找出错误原因。
当我在Microsoft SQL Server中执行相同的查询时,它被执行并创建了一个临时表(#temp table),该表不存在于数据库中,但它可以为该特定会话保存数据。所以我想在ORACLE数据库中实现相同的场景。
ORA-00911: 无效字符 00911. 00000 - "无效字符" *原因:标识符不能以除字母和数字以外的任何ASCII字符开头。第一个字符后也允许使用$#_。用双引号括起来的标识符可以包含除双引号以外的任何字符。替代引号(q'#...#')不能将空格、制表符或回车作为分隔符。对于所有其他上下文,请参阅SQL语言参考手册。 *操作: 错误行:1 列:15
select into
用于填充标量变量,例如,select max(salary) into l_salary from employees
将会用最高薪水的值填充标量变量l_salary
。正如错误信息所示,变量名不能以#
开头。 - William Robertson