随笔分类 -  SQL

摘要:timestamptimestamp这种数据类型表现自动生成的二进制数,确保这些数在数据库中是唯一的。timestamp一般用作给表行加版本戳的机制。存储大小为 8 字节。注释Transact-SQLtimestamp数据类型与在 SQL-92 标准中定义的timestamp数据类型不同。SQL-92timestamp数据类型等价于 Transact-SQLdatetime数据类型。Microsoft® SQL Server™ 将来的版本可能会修改 Transact-SQLtimestamp数据类型的行为,使它与在标准中定义的行为一致。到那时,当前的timestamp数据类型将用ro 阅读全文
posted @ 2011-05-31 14:29 天际翔龙 阅读(2974) 评论(0) 推荐(0)
摘要:用Visual Studio 2005创建SQL Server项目,然后编写调用Web Service的过程是很简单的,在项目里添加引用Web Service,然后编写处理代码.在部署前有几个问题需要注意:1.目标数据库实例需要启用CLR集成.如果没启用,可以在 SQL Server 外围应用配置器 里去启用或者使用以下语句:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->sp_configure 'clr enabled', 阅读全文
posted @ 2011-05-29 17:20 天际翔龙 阅读(1188) 评论(0) 推荐(0)
摘要:MSSQL2008已包含了智能感知功能,但08以前的版本不能使用,另外功能也不是很強大,目前有另外兩自款智能感知插件,分別是:SQL Prompt 和SQL Assistant 阅读全文
posted @ 2011-05-23 13:54 天际翔龙 阅读(282) 评论(0) 推荐(0)
摘要:假設有一TABLE, 包括一列自定義自動編號【規則為:前綴+日期+流水碼】且為主鍵,如果像平時用insert into 一筆一筆插入時,可以用默認值函數方式解決,但是當一次插入多筆資料,如 insert into tableName(....) select ... from otherTableName或 insert into tableName (....) select .... union select .....時會報key值重複的錯誤繞道解決方案為:在TABLE前加一個instead of insert的觸發器,這樣就插入成功,不會報錯 阅读全文
posted @ 2011-05-20 18:06 天际翔龙 阅读(416) 评论(0) 推荐(0)
摘要:CREATEPROCSP_CHANGE_TABLE_CHARTYPE(@tableNamenvarchar(128)--表名)ASDECLARE@varcharTypeIdtinyint--varchar數據類型編號DECLARE@textTypeIdtinyint--text數據類型編號DECLARE@ColumnNamenvarchar(128)--系統列名DECLARE@CTypeVARCHAR(1)--類型DECLARE@IsNullAblechar(1)--是否允許為空DECLARE@Lengthint--欄位長度DECLARE@ColumnTypeint--列類型DECLARE@. 阅读全文
posted @ 2011-05-13 14:48 天际翔龙 阅读(738) 评论(0) 推荐(0)
摘要:1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select id from t where num=03.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。4.应尽量避免在 where 子句中使用 or 来连接条件,否则将导致引擎 阅读全文
posted @ 2011-04-22 12:09 天际翔龙 阅读(210) 评论(0) 推荐(0)
摘要:透明加密必須運行在企業版以上版本中,以下代碼中New為測試數據庫備份數據庫及證書:USEmaster;Go--创建主密钥CREATEMASTERKEYENCRYPTIONBYPASSWORD='password';--创建或获取由主密钥保护的证书CREATECERTIFICATEMyServerCertWITHSUBJECT='MyDEKCertificate';USENew;GO--创建数据库加密密钥并通过此证书保护该密钥CREATEDATABASEENCRYPTIONKEYWITHALGORITHM=AES_128ENCRYPTIONBYSERVERCERT 阅读全文
posted @ 2011-04-19 10:18 天际翔龙 阅读(461) 评论(0) 推荐(0)
摘要:确保数据库有对文件所有的文件夹有写的权限,可以加上 everyone 阅读全文
posted @ 2011-04-19 10:16 天际翔龙 阅读(1696) 评论(0) 推荐(1)
摘要:对一个数据库管理员来说,当要保护你所支持的数据库时,安全是要考虑的最重要方面之一。我们使用多种机制和技术来保护我们的数据和数据库,例如防火墙、认证和数据加密。不过尽管我们为我们的环境设置了安全,但是关于数据库安全还总是有问题出现。尽管我们在保护我们的数据库,但是如果有人窃取mdf 文件或备份文件那么会怎么样呢?但是在SQL Server 2008之前没有什么方法来使用第三方解决方案控制这种场景也没有什么本地方法来处理这个问题。SQL Server 2008推出了一个新的特性来保护数据库,它叫做透明数据加密(Transparent Data Encryption)——TDE,它对整个数据库提供了 阅读全文
posted @ 2011-04-16 23:04 天际翔龙 阅读(429) 评论(0) 推荐(0)
摘要:此文作记录作用。以前查找表中是否存在某记录都是用 COUNT(*),然后判断条数,今天找了一下相关资料,发现这个作法是相当的差,效率不是一般的差COUNT的算法是查找表中所有的列,然后再统计笔数。这种情况应该使用EXISTS,EXISTS是查找到第一条就中断查询,返回结果。在大数据量的时候相当明显作测试代码如下:DECLARE@ROW_COUNTINTSELECT@ROW_COUNT=COUNT(*)FROMCO1_TOTALWHERENO_COMP='TC025'IF@ROW_COUNT>0SELECT'EXIST'ELSESELECT'NOTE 阅读全文
posted @ 2011-04-16 22:41 天际翔龙 阅读(1444) 评论(0) 推荐(0)
摘要:SELECTo.nameAS"TableName",i.rowcntAS"RowCount"FROMsysobjectso,sysindexesiWHEREi.id=o.idANDi.indidIN(0,1)ANDo.xtype='u'--只统计用户表ANDo.name<>'sysdiagrams'ORDERBYi.rowcntDESC--按行排降序COMPUTESUM(i.rowcnt),count(o.name);--汇总行数,表数GO 阅读全文
posted @ 2011-04-16 22:04 天际翔龙 阅读(1492) 评论(0) 推荐(0)
摘要:[代码] 阅读全文
posted @ 2011-01-26 17:23 天际翔龙 阅读(702) 评论(0) 推荐(0)
摘要:实现Reporting Service2008 的匿名访问是件比较费劲的事情,网上提供的方法挺多的,但总结起来起来能用的就三种:   一种通过ReportViewer控件显示报表,在系统中添加一个专用用户,权限限制在浏览级别,然后在代码中实现身份接口,指定控件以该用户身份登录,这是变相的匿名访问;(详细见http://www.cnblogs.com/lonely7345/archive/2010/01/10/1643603.html)  第二种是通过WebService来访问报表,是本人一篇博文(http://www.cnblogs.com/dege301/archive/2009/09/04 阅读全文
posted @ 2010-12-27 18:22 天际翔龙 阅读(1836) 评论(1) 推荐(1)
摘要:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--SELECTi.nameASIndexName,OBJECT_NAME(ic.OBJECT_ID)ASTableName,COL_NAME(ic.OBJECT_ID,ic.column_id)ASColu... 阅读全文
posted @ 2010-09-26 16:40 天际翔龙 阅读(361) 评论(0) 推荐(0)
摘要:[代码] 阅读全文
posted @ 2010-07-21 15:37 天际翔龙 阅读(182) 评论(0) 推荐(0)
摘要:运行 PostgreSql SQLShell执行 create language 语言名称如:create language plpgsql; 阅读全文
posted @ 2010-02-23 17:50 天际翔龙 阅读(524) 评论(0) 推荐(0)
摘要:注:INSERT INTO SELECT 在已有identity列时会报错,以下存储过程直接读取结构,所以不会[代码]--TablePage'TableName','',39,17 阅读全文
posted @ 2009-07-15 22:50 天际翔龙 阅读(839) 评论(0) 推荐(0)
摘要:在日常的報表中常用到排序,有些是多字段的升,降序,一般有兩種方法,如下所示:[代码][注:ORDER BY 中使用CASE WHEN 是可以加 DESC 的] 阅读全文
posted @ 2009-06-12 09:59 天际翔龙 阅读(1722) 评论(0) 推荐(0)
摘要:[代码] 阅读全文
posted @ 2009-02-04 22:06 天际翔龙 阅读(1676) 评论(0) 推荐(0)
摘要:declare@pricemoneyset@price=123456789selectconvert(varchar,@price,1) 阅读全文
posted @ 2008-06-16 20:51 天际翔龙 阅读(1649) 评论(0) 推荐(0)