随笔分类 - SQL server
摘要:1.游标定义游标:declare tCs cursor for select dd,ss from table打开游标: open tcs读取游标值: Fetch next from tCs into @dd,@ss --这边数据列需和定义的游标列数一致 while (@@Fetch_Status=0)--表示读取成功 begin需要的处理过程Fetch next from tCs into @dd,@ss--读取下一条,如果没有则@@Tetch...不为0end 2.等效游标的处理方法以下两种方法各有弊端:第一种,只适用于id为自增长的情况。id出现重复时,则重复的数据只处理了一条。第二种.
阅读全文
摘要:假如有一个购票系统:三个用户A,B,C希望同时订购一张票,可能会读取到同一条未被销售的车票记录,然后再进行更新(购买),为了确保数据的一致性,防止更新丢失,通常的解决方法是使用updlock 加入更新锁,不过这样会造成资源争用和等待,在并发量很高的情况下,会对性能造成较大的影响。乐观锁定的解决方案: 给表加入一个 timestamp 类型的字段,每次更新行数据时,该行中的该列都会自动更新 在获取并更新记录的时候,通过比较该列值,就可判断是否已经被更新过。例: select top 1 @Id=Id, @timestp=timestp from coupon where isused=0 --
阅读全文
摘要:数据库不区分大小写。临时表(tempDB): 创建:create table #table(id int)局部临时表以#开头命名表,链接断开时临时表即被删除,局部临时表是有当前用户创建的,并且只有当前用户的会话才可以访问,且只能在同一个批处理中使用该临时变量。全局临时表以##开头命名表。全局可访问 使用方式: (使用前可以不用创建该表,会自动根据查询结果创建表结构) select * into ##table from table insert into ##table select * from table 判断是否存在该表: 1. if exists (select * from temp
阅读全文
摘要:ALTER PROCEDURE [dbo].[Prc_GetPage] ( @startIndex INT , -- 开始索引号 @endindex INT , -- 结束索引号 @tblName VARCHAR(1000) , -- 表名 @fldName VARCHAR(3000) , -- 显示字段名 @OrderfldName VARCHAR(255) , -- 排序字段名 @IsReCount BIT = 0 , -- 返回记录总数, 非 0 值则返回 @OrderType BIT = 0 , -...
阅读全文
摘要:1 ALTER FUNCTION [dbo].[Get_StrArrayStrOfIndex] 2 ( 3 @str VARCHAR(1024) , 4 @split VARCHAR(10) , 5 @index INT 6 )--按指定符号分割字符串,返回分割后指定索引的第几个元素 7 RETURNS VARCHAR(1024) 8 AS 9 BEGIN 10 DECLARE @location INT 11 DECLARE @start INT 12 DECLARE @next...
阅读全文

浙公网安备 33010602011771号