NULL对IN查询的影响
--1. NULL 对 IN(NOT IN) 查询的影响--测试数据DECLARE @1 TABLE(col1 int)INSERT @1 SELECT 1UNION ALL SELECT NULLUNION ALL SELECT 2 DECLARE @2 TABLE(col1 int)INSERT @2 SELECT 1 --查询SELECT [@1总记录数]=COUNT(*) FROM @1--结果: 3 SELECT [@1在@2表中存在的记录数]=COUNT(*) FROM @1 aWHERE col1 IN(SELECT col1 FROM @2)--结果: 1 SELECT [@1在@2表中存在的记录数]=COUNT(*) FROM @1 aWHERE col1 NOT IN(SELECT col1 FROM @2)--结果: 1 --在@2中插入一条NULL值INSERT @2 SE...
定时调用存储过程的作业
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_JobSet]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[p_JobSet]GO /*--指定时间调用存储过程 创建一个在指定时间,调用指定存储过程的作业 作业执行完成后会自动删除 /*--调用示例 declare @dt datetime set @dt=dateadd(minute,1,getdate()) --当前时间1分钟后执行 exec p_JobSet 'master.dbo.xp_cmdshell ''dir c:\*.*''',@dt--*/create proc p_JobSet@prorcname ...
SQL SERVER导入、导出Excel的方法
/*=================== 导入/导出 Excel 的基本方法 ===================*/从Excel文件中,导入数据到SQL数据库中,很简单,直接用下面的语句:/*===================================================================*/--如果接受数据导入的表已经存在insert into 表 select * fromOPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)--如果导入数据并生成表select * into 表 fromOPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=c:\test.xls',s...
根据时间不同来触发
/*******************功能:根据时间更改人物 K1 的倍数时间:2010-11-12作者:龙歌网络************************/USE PS_GameDataGO--判断是否存在触发器if exists(select name from sysobjects where name='trig_Chars_Up_K1') drop trigger trig_Chars_Up_K1go--创建触发器create trigger trig_Chars_Up_K1on Charsfor Updateas--声明要用到的变量,userid用户名,times倍数declare @UserID varchar(50),@times intselect @UserID=[UserID] from insertedbegin if (Datepart(weekday,...
重置SQL Server 自动增长
方法1: 复制代码代码如下:truncate table TableName删除表中的所有的数据的同时,将自动增长清零。 如果有外键参考这个表,这个方法会报错(即便主键表和外键表都已经没有数据),请参考方法2。 PS: 用delete删除数据,自动增长不会清零的哦。 方法2: 复制代码代码如下:DBCC CHECKIDENT('TableName', RESEED, 0)不删除表的数据,直接重置自动增长的值。
SQL Server中的数据存储形式
sql server 是一个关系数据库管理系统,它最初是由microsoft 、sybase 和ashton-tate三家公司共同开发的,于1988 年推出了第一个os/2 版本。在windows nt 推出后microsoft与sybase 在sql server 的开发上就分道扬镳了,microsoft 将sql server 移植到windows nt系统上专注于开发推广sql server 的windows nt 版本,sybase 则较专注于sql server在unix 操作系统上的应用。 sql server 2000 是microsoft 公司2000年推出的sql server 数据库管理版本。该版本继承了sql server 7.0 版本的优点同时又比它增加了许多更...
sqlserver 中NOLOCK、HOLDLOCK、UPDLOCK、TABLOCK、TABLOCKX
NOLOCK(不加锁) 此选项被选中时,SQL Server 在读取或修改数据时不加任何锁。 在这种情况下,用户有可能读取到未完成事务(Uncommited Transaction)或回滚(Roll Back)中的数据, 即所谓的“脏数据”。 HOLDLOCK(保持锁) 此选项被选中时,SQL Server 会将此共享锁保持至整个事务结束,而不会在途中释放。 UPDLOCK(修改锁) 此选项被选中时,SQL Server 在读取数据时使用修改锁来代替共享锁,并将此锁保持至整个事务或命令结束。使用此选项能够保证多个进程能同时读取数据但只有该进程能修改数据。 TABLOCK(表...
团队管理之正确的做事方式
正确的做事方式有了态度,还需要有正确的做事方式。正确做事的第一步是要了解你的客户。客户在哪里?他是谁,你了解他吗?永远要想到客户的问题,客户在想什么,你知道吗?任何解决方案都会有产出和投入,你的投入产出比是客户能够接受的吗?做任何事情之前都一定要将这些问题想清楚。不做没有目的的事情。具体做事时一定要划分事情的重要性和紧急性,任何时候都要做最重要的事情。要划分事情的效果和效率,一定要做有效果的事情,没有效果的事情尽量不做(有时候也没办法)。效率即投入产出比。尽量做有意愿...
datagridview绑定数据源后删除、添加行
datagridview添加行,在已经绑定数据源的情况下(否则会报错误: 当控件被数据绑定时,无法以编程方式向 DataGridView 的行集合中添加行)DataRow dr = ((DataTable)dataGridView1.DataSource).NewRow();((DataTable)dataGridView1.DataSource).Rows.Add(dr);
