易截截图软件、单文件、免安装、纯绿色、仅160KB

SQL Server中临时表与表变量的区别

我们在数据库中使用表的时候,经常会遇到两种使用表的方法,分别就是使用临时表及表变量。在实际使用的时候,我们如何灵活的在存储过程中运用它们,虽然它们实现的功能基本上是一样的,可如何在一个存储过程中有时候去使用临时表而不使用表变量,有时候去使用表变量而不使用临时表呢?
  临时表
  临时表与永久表相似,只是它的创建是在Tempdb中,它只有在一个数据库连接结束后或者由SQL命令DROP掉,才会消失,否则就会一直存在。临时表在创建的时候都会产生SQL Server的系统日志,虽它们在Tempdb中体现,是分配在内存中的,它们也支持物理的磁盘,但用户在指定的磁盘里看不到文件。
  临时表分为本地和全局两种,本地临时表的名称都是以“#”为前缀,只有在本地当前的用户连接中才是可见的,当用户从实例断开连接时被删除。全局临时表的名称都是以“##”为前缀,创建后对任何用户都是可见的,当所有引用该表的用户断开连接时被删除。
  下面我们来看一个创建临时表的例子:
Sql代码
CREATE TABLE dbo.#News    
  (    
  News_id int NOT NULL,    
  NewsTitle varchar(100),    
  NewsContent varchar(2000),    
  NewsDateTime datetime    
  )  
CREATE TABLE dbo.#News
  (
  News_id int NOT NULL,
  NewsTitle varchar(100),
  NewsContent varchar(2000),
  NewsDateTime datetime
  )
临时表可以创建索引,也可以定义统计数据,所以可以用数据定义语言(DDL)的声明来阻止临时表添加的限制,约束,并参照完整性,如主键和外键约束。比如来说,我们现在来为#News表字段NewsDateTime来添加一个默认的GetData()当前日期值,并且为News_id添加一个主键,我们就可以使用下面的语句:
Sql代码
ALTER TABLE dbo.#News    
  ADD    
  CONSTRAINT [DF_NewsDateTime] DEFAULT (GETDATE()) FOR [NewsDateTime],    
  PRIMARY KEY CLUSTERED    
  (    
  [News_id]    
  ) ON [PRIMARY]    
  GO  


相关文档:

SQL中常见函数的用法

1Replace函数
在SQL SERVER 2000中有一个信息表,存放新闻信息,现在客户想批量更新这个字段中的某些文字,替换为其他文字。
解决方法:利用replace函数
update detail set content=replace(content,'原文字','替换后文字') where 条件 ......

Sql语句学习笔记(7) 常用日期函数

/*****************************
常用日期函数
*****************************/
use studentInfo
--向数据库中插入日期的常见格式:如插入2010年10月3日这个日期
--其中tb_date为一个测试用的表,里面就一个字段time,为datetime类型
insert tb_date values('2010.10.3')
insert tb_date values('2010-10-3 12:14:35 ......

SQL SERVER在存储过程中连接其他数据库

 --访问不同电脑上的数据库    
  --如果经常访问或数据量大,建议用链接服务器  
   
  --创建链接服务器  
  exec   sp_addlinkedserver     'srv_lnk','','SQLOLEDB','远程服务 ......

[SQL Server] 导出表结构(数据字典)

-- 数据字典
SELECT
        (case when a.colorder=1 then d.name else '' end)表名,
        a.colorder 字段序号,
        a.name 字段名,
        (case when COL ......

初学PL/SQL 游标

1,显示游标的操作
  
(1) 定义游标
      根据查询的数据情况,在PL/SQL块的声明部分定义游标,语法为:
         cursor cursor_name is select_statement;
注意:
     游标必须在PL/SQL块的声明部分进行定义; ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号