Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle SQL创建表#X语法含义_Sql_Oracle - Fatal编程技术网

Oracle SQL创建表#X语法含义

Oracle SQL创建表#X语法含义,sql,oracle,Sql,Oracle,我正在学习Oracle DB 12c测试,但我对不断出现的问题有点迷茫 我明白 CREATE #MYTABLE (x number); 创建本地临时表,但我不确定它如何应用于以下语法: CREATE MYTABLE#OTHER (x number); 有人能解释一下吗?我无法在搜索引擎中找到任何答案。您当前的代码看起来更像SQL Server。SQL Server使用哈希/磅符号#表示临时表。例如: CREATE TABLE #temp (id int) Oracle不使用哈希符号。例如

我正在学习Oracle DB 12c测试,但我对不断出现的问题有点迷茫

我明白

CREATE #MYTABLE (x number); 
创建本地临时表,但我不确定它如何应用于以下语法:

CREATE MYTABLE#OTHER (x number);

有人能解释一下吗?我无法在搜索引擎中找到任何答案。

您当前的代码看起来更像SQL Server。SQL Server使用哈希/磅符号
#
表示临时表。例如:

CREATE TABLE #temp (id int)
Oracle不使用哈希符号。例如:

--Global temp:
CREATE GLOBAL TEMPORARY TABLE temp(id number)
ON COMMIT DELETE ROWS;
--or ON COMMIT PRESERVE ROWS;
临时表在SQL Server中也不同,因为它们只在创建它们的上下文(即脚本执行)中存在,然后会自动删除。在Oracle中,它们与普通表非常相似。无论您使用哪种DBMS,都绝对值得阅读和理解有关临时表的优点和缺点

无论如何,在Oracle中运行此命令将为无效字符抛出错误,因为表不能以
开头:

运行此操作将起作用,但它不是一个临时表。它将是一个名为
MYTABLE#OTHER
的表:

CREATE TABLE MYTABLE#OTHER (x number);

您当前的代码看起来更像SQL Server。SQL Server使用哈希/磅符号
#
表示临时表。例如:

CREATE TABLE #temp (id int)
Oracle不使用哈希符号。例如:

--Global temp:
CREATE GLOBAL TEMPORARY TABLE temp(id number)
ON COMMIT DELETE ROWS;
--or ON COMMIT PRESERVE ROWS;
临时表在SQL Server中也不同,因为它们只在创建它们的上下文(即脚本执行)中存在,然后会自动删除。在Oracle中,它们与普通表非常相似。无论您使用哪种DBMS,都绝对值得阅读和理解有关临时表的优点和缺点

无论如何,在Oracle中运行此命令将为无效字符抛出错误,因为表不能以
开头:

运行此操作将起作用,但它不是一个临时表。它将是一个名为
MYTABLE#OTHER
的表:

CREATE TABLE MYTABLE#OTHER (x number);