Oracle是否具有等效的SQL Server表变量? [英] Does Oracle have an equivalent of SQL Server's table variables?
问题描述
在SQL Server中,您可以声明一个表变量(DECLARE @table TABLE
),该变量是在脚本运行时生成的,然后从内存中删除.
In SQL Server, you can declare a table variable (DECLARE @table TABLE
), which is produced while the script is run and then removed from memory.
Oracle是否具有类似功能?还是我坚持使用CREATE
/DROP
语句来分割硬盘驱动器?
Does Oracle have a similar function? Or am I stuck with CREATE
/DROP
statements that segment my hard drive?
推荐答案
是.
在 PL/SQL声明块.表变量 也称为索引表或 大批.表变量包含一个 列必须是标量或 记录数据类型以及一个主键 键入BINARY_INTEGER.语法:
Declare TABLE TYPE variables in a PL/SQL declare block. Table variables are also known as index-by table or array. The table variable contains one column which must be a scalar or record datatype plus a primary key of type BINARY_INTEGER. Syntax:
声明 TYPE type_name是表格 (column_type | 变量%TYPE | table.column%TYPE [NOT NULL] 二进制整数索引;
DECLARE TYPE type_name IS TABLE OF (column_type | variable%TYPE | table.column%TYPE [NOT NULL] INDEX BY BINARY INTEGER;
-然后声明这种类型的TABLE变量: variable_name type_name;
-- Then to declare a TABLE variable of this type: variable_name type_name;
-将值分配给TABLE变量: variable_name(n).field_name:= 一些文字"; -``n''是 索引值
-- Assigning values to a TABLE variable: variable_name(n).field_name := 'some text'; -- Where 'n' is the index value
参考: http://www.iselfschooling.com/syntax/OraclePLSQLSyntax.htm
您可能还想看看全局临时表
这篇关于Oracle是否具有等效的SQL Server表变量?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!