加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SqlServer - 工作总结

发布时间:2020-12-12 16:04:48 所属栏目:MsSql教程 来源:网络整理
导读:循环处理清单 create table d_gclqd(qdbh varchar(20) primary key,sjqd varchar(20),jdjb int,htsl decimal(18,5))insert into d_gclqd values('100','',1,0)insert into d_gclqd values('100-1','100',2,0)insert into d_gclqd values('100-1-1','100-1',3

循环处理清单

create table d_gclqd(
	qdbh varchar(20) primary key,sjqd varchar(20),jdjb int,htsl decimal(18,5)
)
insert into d_gclqd values('100','',1,0)
insert into d_gclqd values('100-1','100',2,0)
insert into d_gclqd values('100-1-1','100-1',3,111)
insert into d_gclqd values('100-1-2',112)
insert into d_gclqd values('100-2',0)
insert into d_gclqd values('100-2-1','100-2',121)
insert into d_gclqd values('100-3',103)
insert into d_gclqd values('200',0)
insert into d_gclqd values('200-1','200',0)
insert into d_gclqd values('200-1-1','200-1',211)
insert into d_gclqd values('200-2',0)
insert into d_gclqd values('200-2-1','200-2',221)

declare @jdjb  int
select @jdjb=max(jdjb) from d_gclqd

if @jdjb is null
	return
while @jdjb>0
	begin
		update d_gclqd set htsl = b.htsl from (
			select sjqd,sum(htsl) as htsl  from d_gclqd where jdjb=@jdjb group by sjqd
		)b where qdbh=b.sjqd
		set @jdjb=@jdjb-1
	end
select * from d_gclqd

清库语句

if exists(select * from sysobjects where name= 'sp_clear_log') 
	drop procedure sp_clear_log 
go

create procedure sp_clear_log 
	@db_name varchar(255)
with encryption as
begin 
	dump transaction @db_name with no_log  
	backup log @db_name with no_log  
	dbcc shrinkdatabase(@db_name) 
end 
go
--sp_clear_log qnmis

得到旬的函数

-- select dbo.getxunbydate('2012/10/11')  
-- select dbo.getxunbydate('2012.10.11')  
-- select dbo.getxunbydate('2012-10-11')  
  
alter function getxunbydate(@date varchar(10))  
    returns varchar(10)   
as  
begin  
    declare @result varchar(10)  
    declare @number int  
    set @number=day(@date)  
    if @number <= 10  
        begin  
            set @result='上旬'  
        end  
    else if @number>10 and @number<=20  
        begin  
            set @result='中旬'  
        end  
    else if @number>20 and @number<=31  
        begin  
            set @result='下旬'  
        end  
    return @result                
end

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读