SQL
thecityofsky
这个作者很懒,什么都没留下…
展开
-
杜绝数据库SQL注入
彻底杜绝SQL注入 1.不要使用sa用户连接数据库 2、新建一个public权限数据库用户,并用这个用户访问数据库 3、[角色]去掉角色public对sysobjects与syscolumns对象的select访问权限 4、[用户]用户名称-> 右键-属性-权限-在sysobjects与syscolumns上面打“×” 5、通过以下代码检测(失败表示权限正确,如能显示出来则表明权限太高): DEC转载 2009-06-11 15:12:00 · 565 阅读 · 0 评论 -
SQL锁表语句
锁定数据库的一个表 SELECT * FROM table WITH (HOLDLOCK)注意: 锁定数据库的一个表的区别SELECT * FROM table WITH (HOLDLOCK) 其他事务可以读取表,但不能更新删除SELECT * FROM table WITH (TABLOCKX) 其他事务不能读取表,更新和删除SELECT 语句中“加锁选项”的功能说明转载 2009-06-12 09:53:00 · 735 阅读 · 0 评论 -
防止sql注入
今天在论坛上看到一篇防止sql注入的讨论;我对这方面也不是很了解,所以就整理下别人发的代码。一般用的sql防止注入的是那种过滤关键字和替换字符public static string CleanString(string inputString) { StringBuilder retVal = new StringBuilder();原创 2009-06-15 10:42:00 · 736 阅读 · 0 评论 -
SQL一个存储过程调用另一个存储过程 获得返回值问题
第一种方法: 使用output参数USE AdventureWorks;GOIF OBJECT_ID ( Production.usp_GetList, P ) IS NOT NULL DROP PROCEDURE Production.usp_GetList;GOCREATE PROCEDURE Production.usp_GetList @product varchar转载 2009-11-05 10:00:00 · 688 阅读 · 0 评论 -
SQL Server 的collate的含义
<br /> <br /><br />我们在create table时经常会碰到这样的语句,例如:password nvarchar(10)collate chinese_prc_ci_as null,那它到底是什么意思呢?不妨看看下面:<br />首先,collate是一个子句,可应用于数据库定义或列定义以定义排序规则,或应用于字符串表达式以应用排序规则投影。<br />语法是collate collation_name<br />collation_name ::={windows_collation_转载 2010-07-15 13:01:00 · 19207 阅读 · 0 评论 -
批量更新某一查询结果集的第N条到第M条的记录的SQL(SQL 2005)
<br />问题:在项目开发中,我们有时候需要根据一些限制条件查询出一个结果集后,再将这个结果集的比如前10行进行某一update操作,后10行再进行另一个update操作。<br />解决方案:<br />1)根据限制条件查询出结果集(该结果集应该以其主键进行排序),在该结果集上给各行记录进行编号。<br />2)根据各行记录的编号取出一次取出前10行的记录或后10行的记录。<br />3)进行各自的update操作。<br />参考实现:<br />以下将以我在项目中多次用到的SQL为例。<br />代原创 2010-06-24 10:39:00 · 2440 阅读 · 1 评论 -
sql server 日志收缩
SQL2008 的收缩日志由于SQL2008对文件和日志管理进行了优化,所以以下语句在SQL2005中可以运行但在SQL2008中已经被取消:(SQL2005)Backup Log DNName with no_loggodump transaction DNName wit原创 2011-07-27 09:18:42 · 592 阅读 · 0 评论 -
利用Sql为Code128码添加起始符和休止符
在利用code128码字体打印条码是,打印出来的条形码,扫描枪会出现认不出的情况,这种情况是由于直接将文本设置为code128字体而没有给他们指定起始符和休止符引起的。经过查资料获发现好多人遇到这样的问题,特别是利用word,excel直接设置code128字体打印时,一般都转载 2011-08-20 15:48:18 · 5742 阅读 · 0 评论 -
sql server 2005/2008 加密存储过程解密
sql server 2005 以上存储过程无法进行查看和编辑,网上找了个解密存储过程,代码如下:Create PROCEDURE [dbo].[sp_windbi$decrypt](@procedure sysname = NULL, @revfl int = 1)AS转载 2011-09-21 13:37:49 · 19877 阅读 · 6 评论