网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > 数据库技术 > Oracle > 开发技术 > 象使用数组一样使用一个数据表变量  

象使用数组一样使用一个数据表变量

2004-04-22  作者:BitsCN整理  来源:中国网管联盟  点评 投稿 收藏


  虽然你可以象数组一样使用一个数据表变量,对于它能够使用的数据类型是有限制的。例如,你不能在一个数据表变量中包含另一个数据表变量。
  
  你可以象申明一个用户定义的数据表一样申明一个数据表变量;但是,在你申明了它以后,你就不能再改变数据表的定义了。另外,你必须在申明的时候定义数据表变量的所有属性。
  
  并不是所有的INSERT命令都能够在数据表变量上操作。例如,你不能在向数据表变量插入值的时候使用EXEC命令。执行一个存储过程或者插入值到数据表变量的字符串命令会返回一个错误。同样,不是所有的SELECT 命令都能够在数据表变量上操作而且你不能使用SELECT INTO 命令来插入数据到一个数据表变量中去。
  
  你不能在数据表变量上使用一些系统过程,比方sp_depends。数据表变量的对象名在运行时生成,并且是一个随机的名字,它被保存在tempdb数据库里。因为大多数的系统功能和系统过程需要对象名或者标识数值,所以要在一个数据表变量上执行系统功能或者过程是困难的。需要复杂的逻辑来获得对象的名字以及/或者标识数值来运行系统功能和过程。
  
  一个数据表变量的作用域是批处理过程,存储过程或者函数执行的过程。当批处理过程中GO命令被触发了,数据表变量也就出离了它的作用域。
网管论坛bbs_bitsCN_com

  
  下面是在一个存储过程中使用一个数据表变量的简单脚本。
  
  CREATE PROCEDURE TestName
  
  AS
  
  DECLARE @TableId TABLE
  
  (table_id INT IDENTITY NOT NULL
  
  primary key nonclustered,
  
  id INT NOT NULL,
  
  name sysname NOT NULL
  
  DEFAULT 'UNKNOWN',
  
  type char(2) NOT NULL
  
  DEFAULT '9',
  
  crdate datetime NOT NULL
  
  DEFAULT current_timestamp)
  
  INSERT @TableId (id, name, type, crdate)
  
  SELECT id, 'test_' + name, type, crdate FROM tempdb..sysobjects
  
  SELECT * FROM @TableID
  
  GO
  
  exec TestName
  
  GO

TAGs变量   一样   数据   过程   一个数据   命令   不能   或者    
 上一篇:Oracle 中的in-line view   下一篇:实施数据仓库的建议
相关文章列表
象使用数组一样使用一个数据表变量 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
1.何添加删除数据库,如何创建表空间?
2.Java连接Oracle数据库的各种方法
3.全面介绍:Oracle数据库日期处理
4.利用外部命令Oralce数据库导入导出
5.tochar和todate是如何使用的?格式?
6.Sql*plus技巧之SPOOL应用
7.TNS-12500/12540/12560/00510解决过程
8.oracle中用创建表时Storage中参数的含义
9.oracle笔记
10.Oracle中使用SQL MODEL定义行间计算
最新推荐文章:
1.初始化块与数据库查询控制验证和授权-开
2.Oracle数据库中如何根据时间来执行JOB-开
3.Oracle中如何根据时间来执行JOB-开发技术
4.修改默认的Oracle XML Database监听端口-
5.关闭Oracle死锁进程的具体步骤-开发技术
6.FORALL与BULK COLLECT的使用方法-开发技
7.Oracle数据库中的锁机制研究-开发技术
8.Oracle数据库中的(+)连接
9.MIS系统实例中Oracle的安全策略
10.详细讲解容灾技术中的数据一致性
网管论坛交流:
·不疯魔不成活
·令你大开眼界的真正标准化机房,已整理重
·为赈灾,女孩舍身拍“裸照”
·Windows Server 2003服务器群集创建和配
·exchange2k3全套官方资料
·双儿一周岁了。。。特殊的礼物来啦。。
·存储备份技术版块守则
·无盘技术交流区守则
·DOS命令基础大全之命令详解<作者吐血
·Windows XP 操作系统默认设置需要注意的