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

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

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


相关文档:

SQL output使用

SQL版:
alter proc testguo
(
    @cityid int,
    @cityname nvarchar(100) output
)
as
select @cityname =  city_name from BA_Hot_City where cityid = @cityid
select @cityname
go
declare @cityname nvarchar(100)
exec testguo 1,@cityname output
另一版:
ht ......

配置sql server 2000允许远程访问

 配置sql server 2000以允许远程访问适合故障:1. 用sql企业管理器能访问sql server 2000(因为它是采用命名管道(named pipes)方式进行方式),但用ado.net 方式(udp)不能访问.2. 采用ado.net方式不能远程访问.故障的可能原因有:1.sql server 2000没有安装sql server 2000 sp3a及以上升级包,还未启用并开放1433端口(udp);2 ......

SQL Server 网络别名

网络别名
-----------------------------------------------------------------------------
用途:为远程服务器的已有表添加数据
-----------------------------------------------------------------------------
步骤:
SQL Server2000/2005
1. 运行客户端网络实用工具(
(1) SQL Server2000-Client Network Ut ......

c# 操作mssql数据库 含有带参数sql语句运行

<?xml version="1.0" encoding="utf-8"?>
<configuration>
 <appSettings>
  <add key="Default" value="Default" />
 </appSettings>
 <connectionStrings>
  <add name="Default" connectionString="Data Source=192.168.1.197;User ID ......

sql查询,nolock写还是不写,这是一个问题

在做过的很多项目中,发现大家不管对什么表,逢select必定加上nolock(或者with(nolock)),好像已经是制度化的一种东西。有领导高人解释说加上nolock可以提高查询速度,不影响对数据表的其他并发操作。  
  但是真有必要每个查询都加nolock吗?个人认为加不加nolock还是值得我们根据实际情况斟酌一番的(至 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号