Oracle是否具有等效的SQL Server表变量?

Mar*_*ret 28 oracle

在SQL Server中,您可以声明一个表变量(DECLARE @table TABLE),该变量在脚本运行时生成,然后从内存中删除.

Oracle有类似的功能吗?还是我坚持使用CREATE/ DROP陈述我的硬盘?

Mit*_*eat 20

是.

在PL/SQL声明块中声明TABLE TYPE变量.表变量也称为索引表或数组.表变量包含一列,该列必须是标量或记录数据类型以及类型为BINARY_INTEGER的主键.句法:

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;

- 为TABLE变量赋值:variable_name(n).field_name:='some text'; - 其中'n'是指数值

参考:http://www.iselfschooling.com/syntax/OraclePLSQLSyntax.htm

您可能还想查看全局临时表

  • 如何声明包含多个列的表?例如:包含2列的表.Number和Varchar2. (3认同)
  • @MikeT表 - 在SQL产品中 - 有行,而不是记录.请不要使用术语"记录"来混淆他人. (2认同)
  • 记录是与项目相关的数据集合,因为它可以是单个表中的单个行,也可以是跨多个表的许多链接行.所以术语记录是正确的 (2认同)