摘要:本文转载自:http://www.cnblogs.com/moss_tan_jun/archive/2011/11/26/2263988.html游标是邪恶的! 在关系数据库中,我们对于查询的思考是面向集合的。而游标打破了这一规则,游标使得我们思考方式变为逐行进行.对于类C的开发人员来着,这样的思考方式会更加舒服。 正常面向集合的思维方式是: 而对于游标来说: 这也是为什么游标是邪恶的,它会使开发人员变懒,懒得去想用面向集合的查询方式实现某些功能. 同样的,在性能上,游标会吃更多的内存,减少可用的并发,占用宽带,锁定资源,当然还有更多的代码量…… 从游标对数据库的读取方式来说,不难看出游标..
阅读全文
随笔分类 - sql
摘要:create FUNCTION getDouble( @num decimal(10,3))returns VARCHAR(20)ASBEGINDECLARE @res VARCHAR(20);SELECT @res = substring(cast(@num as VARCHAR(20)),1,len(cast(@num as VARCHAR(20)))-1);RETURN @res;END这是一个将decimal(10,3)类型的值转换为两位小数的字符串值的函数。调用的时候要注意,是dbo.getDouble(参数),这里dbo不能省。
阅读全文
摘要:BEGIN TRANSACTIONDECLARE @errorNum int,@i int,@id varchar(50);select @errorNum = 0,@i = 1,@id = @orderno;INSERT INTO dbo.[Order] (ORDER_ID,ORDER_DATE,AGENT_ID,FREIGHT,AMOUNT,SQUARE,PRICE,CONSIGNEE,PHONE,ADDRESS,REMARK,STATUS_ID,CREATER,CREATE_DATETIME,MODIFY_USER,MODIFY_DATETIME) VALUES (@id,@orderd
阅读全文
摘要:SELECT 表名 = case when a.colorder=1 then d.name else '' end, 表说明 = case when a.colorder=1 then cast (isnull(f.value,'') as varchar(2000)) else '' end, -- 字段序号 = a.colorder, 字段名 = a.name, 标识 = case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else
阅读全文
摘要:给你扩展一下吧!Price就是一列的名称,要想更改这一列的数据的时候后,分两种情况。全部更改:update A set Price=Price/10 这里的除法不会保留小数,不够整除的值都为零。如果想保留小数呢!例如:Price=5update A set Price=convert(float,5)/10 先转化一下在进行运算。只更改特定的几行:update A set Price=Price/10 where 条件 用where作为限制条件,则符合条件的都会被更改。如果不加where则代表更改所有的。round(数值表达式[,长度[,操作方式]])返回一个数值,舍入到指定的长度。注意返回的
阅读全文
摘要:ALTER LOGIN sa ENABLE ; GO ALTER LOGIN sa WITH PASSWORD = '1234' ; GO
阅读全文
摘要:本文转载自:http://www.cnblogs.com/mybluesky99/archive/2011/04/21/2023629.html其实对于非专业的数据库操作人员来讲,例如软件开发人员,在很大程度上都搞不清楚数据库索引的一些基本知识,有些是知其一不知其二,或者是知其然不 知其所以然。造成这种情况的主要原因我觉的是行业原因,有很多公司都有自己的DBA团队,他们会帮助你优化SQL,开发人员即使不懂优化问题也不大,所以 开发人员对这方面也就不会下太多功夫去了解SQL优化,但如果公司没有这样的DBA呢,就只能靠程序员自己了。 最近突然想起前一阵和一朋友的聊天,当时他问我的问题是一个非常普通
阅读全文
摘要:本文转载自:http://blog.sina.com.cn/s/blog_4b9b16b301000ps8.htmlDBMS_SQL package 学习这个包提供了一种使用动态sql来访问数据库的方法。第一步:打开游标使用函数 function open_cursor return integer;定义变量 Cur_1 integer; --返回的新游标的ID值语句是Cur_1 := Dbms_Sql.Open_Cursor;第二步:解析要执行的语句使用过程procedure parse(c in integer, statement invarchar2,language_flag in
阅读全文
摘要:本文转载自:http://www.cnblogs.com/luluping/archive/2010/11/26/1888364.html由于SqlServer对于系统内存的管理策略是有多少占多少,除非系统内存不够用了(大约到剩余内存为4M左右),SqlServer才会释放一点点内存。所以很多时候,我们会发现运行SqlServer的系统内存往往居高不下。这些内存一般都是SqlServer运行时候用作缓存的,例如你运行一个select语句,那么SqlServer会将相关的数据页(SqlServer操作的数据都是以页为单位的)加载到内存中来,下一次如果再次请求此页的数据的时候,就无需读取磁盘了,大
阅读全文
摘要:SELECT * FROM NORTHWIND..ORDERS ORDER BY NEWID()--随机排序SELECT TOP 10 * FROM NORTHWIND..ORDERS ORDER BY NEWID()--从ORDERS 表中随机取出10 条记录示例A.对变量使用NEWID 函数以下示例使用NEWID() 对声明为UNIQUEIDENTIFIER 数据类型的变量赋值。在测试UNIQUEIDENTIFIER 数据类型变量的值之前,先输出该值。-- CREATING A LOCAL VARIABLE WITH DECLARESET SYNTAX.DECLARE @MYID UNIQ
阅读全文

浙公网安备 33010602011771号