随笔分类 - SQL
摘要:--SQL批量添加主键脚本 --操作提示:运行此脚本前请记得备份您要操作的数据库 --实现功能:执行脚本后数据库中的所有数据表都会有一个主键 --添加规则1:主键名称为ID(可自己修改),数据类型为整形自增一 --添加规则2:如果数据表已有主键,则不添加 --添加规则3:如果数据表没主键但已存在自增
阅读全文
摘要:海量语句查询代码优化: 具体要注意的:1.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:sele
阅读全文
摘要:1.通过sp里面的关键字查询sp名称 SELECT obj.Name 存储过程名, sc.TEXT 存储过程内容 FROM syscomments sc INNER JOIN sysobjects obj ON sc.Id = obj.ID WHERE obj.Name LIKE 'OTD%' AN
阅读全文
摘要:CREATE FUNCTION [dbo].[f_splitSTR]( @string VARCHAR(MAX), --待分拆的字符串 @splitChar VARCHAR(10) --数据分隔符 )RETURNS @result TABLE(col VARCHAR(100)) AS BEGIN D
阅读全文
摘要:SELECT 表名=case when a.colorder=1 then d.name else '' end, 字段名=a.name, 标识=case when COLUMNPROPERTY(a.id,a.name,'IsIdentity')=1 then 'Y'else 'N' end, 主键
阅读全文
摘要:create table #Data(name varchar(100),row varchar(100),reserved varchar(100),data varchar(100),index_size varchar(100),unused varchar(100)) declare @na
阅读全文
摘要:SELECT 表名 = CASE WHEN A.COLORDER=1 THEN D.NAME ELSE ' ' END, 表说明 = CASE WHEN A.COLORDER=1 THEN ISNULL(F.VALUE, ' ') ELSE ' ' END, 列位序号 = A.COLORDER, 列
阅读全文
摘要:一、修改字段默认值 alter table 表名 drop constraint 约束名字 说明:删除表的字段的原有约束 alter table 表名 add constraint 约束名字 DEFAULT 默认值 for 字段名称 说明:添加一个表的字段的约束并指定默认值 二、修改字段名: alt
阅读全文
摘要:取某月天数:select day(dateadd(month,1,'2012-02-01')-1) --当月天数 select day(dateadd(ms,-3,DATEADD(m, DATEDIFF(m,0,getdate())+1,0))) ---当月第一天 select dateadd(d,-day(getdate())+1,getdate()) ---当月最后一天 select...
阅读全文
摘要:1.启用sp_configure-- To allow advanced options to be changed.EXEC sp_configure 'show advanced options', 1GO-- To update the currently configured value for advanced options.RECONFIGUREGO-- To enable the feature.EXEC sp_configure 'xp_cmdshell', 1GO-- To update the currently configured va
阅读全文
摘要:DateTime d t= DateTime.Now; 'dt.ToString(); '2005-11-5 13:21:25dt.ToFileTime().ToString(); '127756416859912000dt.ToFileTimeUtc().ToString(); 127756704859912816dt.ToLocalTime().ToString(); '2005-11-5 21:21:25dt.ToLongDateString().ToString(); '2005-11-5dt.ToLongTimeString().ToStrin
阅读全文
摘要:游标是邪恶的! 在关系数据库中,我们对于查询的思考是面向集合的。而游标打破了这一规则,游标使得我们思考方式变为逐行进行.对于类C的开发人员来着,这样的思考方式会更加舒服。 正常面向集合的思维方式是: 而对于游标来说: 这也是为什么游标是邪恶的,它会使开发人员变懒,懒得去想用面向集合的查询方式实现某些功能. 同样的,在性能上,游标会吃更多的内存,减少可用的并发,占用宽带,锁定资源,当然还有更多的代码量…… 从游标对数据库的读取方式来说,不难看出游标为什么占用更多的资源,打个比方: 当你从ATM取钱的时候,是一次取1000效率更高呢,还是取10次100?既然游标这么“邪恶”,为什么还要学习游...
阅读全文
摘要:ADO、OLE DB 和 ODBC 应用程序接口 (API) 支持对结果集内应用程序所处的当前行进行更新。其基本过程如下:将结果集的各列绑定到程序变量上。执行查询。执行 API 函数或方法,将应用程序定位在结果集的某一行上。使用要更新的列的新数据值填充绑定的程序变量。执行以下函数或方法之一插入行:在 ADO 中,调用Recordset对象的Update方法。在 OLE DB 中,调用IRowsetChange接口的SetData方法。在 ODBC 中,调用带 SQL_UPDATE 选项的SQLSetPos函数。使用 Transact-SQL 服务器游标时,可以使用包含 WHERE CURREN
阅读全文
摘要:在一个MIS系统中,没有用事务那就绝对是有问题的,要么就只有一种情况:你的系统实在是太小了,业务业务逻辑有只要一步执行就可以完成了。因此掌握事务处理的方法是很重要,进我的归类在.net中大致有以下4种事务处理的方法。大家可以参考一下,根据实际选择适当的事务处理。1 SQL事务 sql事务是使用SQL server自身的事务:在存储过程中直接使用Begin Tran,Rollback Tran,Commit Tran实现事务:优点:执行效率最佳限制:事务上下文仅在数据库中调用,难以实现复杂的业务逻辑。Demo:(所有demo,都以SQL Server自带的Northwind数据的表Region为
阅读全文
摘要:View Code //zh-CN 中文(中华人民共和国)DateTime.Now.ToString("o"); //2009-10-30T20:40:50.6780000+08:00DateTime.Now.ToString("r"); //Fri, 30 Oct 2009 20:40:50 GMTDateTime.Now.ToString("s"); //2009-10-30T20:40:50DateTime.Now.ToString("U"); //2009年10月30日 12:40:50DateTime.N
阅读全文
摘要:用sql命令修改数据表中的一个字段为非空(not null)并且有默认值的语句在表已经存在的情况下,先给数据库中原有的记录赋值,避免置为非空的时候执行不下去UPDATE TABLE table1SET COLUMN [name]=0 WHERECOLUMN [name] ISNULLALTER TABLE table1 ALTER COLUMN [name] varchar(60) NULLALTER TABLE table1 Add constraint DF_table1_name DEFAULT ((0)) for name
阅读全文
摘要:一、sqlserver日期时间函数SqlServer中的日期与时间函数1.当前系统日期、时间selectgetdate()2.dateadd在向指定日期加上一段时间的基础上,返回新的datetime值例如:向日期加上2天selectdateadd(day,2,'2004-10-15')--返回:2004-10-1700:00:00.0003.datediff返回跨两个指定日期的日期和时间边界数。selectdatediff(day,'2004-09-01','2004-09-18')--返回:174.datepart返回代表指定日期的指定日期部分
阅读全文
摘要:View Code declare @str varchar(5000)set @str = ''select @str = @str + ' delete from ' + name from sysobjects where xtype = 'U' and name not like 'HZ%' and name not like 'H6_Coin' and name not like 'H6_Cost' and name not like 'H6_StoreHouse' and
阅读全文
摘要:在MSSQL中建立一个表,该表中的数据在任何时候都不能删除,可以给该表写一个触发器防止用户删除数据。CREATE TRIGGER tblTest_Trigger on tblTestFOR DELETE ASraiserror('该表数据库不能删除',16,1) rollbackGO
阅读全文

浙公网安备 33010602011771号