11.5.19关于T-SQL杂篇

--创建表格或存储过程视图神马的添加的判断。

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[proc_s_score_list]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)

OBJECTPROPERTY:返回当前数据库中对象的有关信息。

 

--避免死锁的方法

1.在select语句中末尾添加nolock  

默认情况下系统会对select语句添加S锁即共享锁,S锁与X锁(排他锁)不兼容,加上with(nolock)就不会了,或者加Sch-S锁,Sch-S锁与任何锁兼容。

如:select * from s_score_detail nolock

2.在链接表时添加nolock,不会锁住链接的表

select * from view_s_score_detail vs(nolock) left join dic_employee em(nolock) ...

 

--Set Fmtonly{off/on}

缺省值是off,当设置为on时,只返回元数据而不处理任何行

 

--Set NO_BROWSETABLE ON

SQL锁机制的系统选修,把当前表所起,不允许用户浏览

 

--like运算符

like运算符可当做=与like的结合,如用户想实现输入为空时查找全部,输入不为空时按输入查找

可定义一变量 @emp_sn = '%'

select * from view_s_score_detail vs(nolock) where vs.emp_sn like @emp_sn

 

--添加自增列

Alter table #temp1 Add sort int IDENTITY(1,1)

或者选择时添加

select em.emp_sn, vs.score,identity(int,1,1) sort from view_s_score_detail

或者定义时添加

create table score

(

     code int identity(1,1) not null COLLATE Chinese_PRC_CI_AS NOT NULL,

     ......

)

COLLATE :sql语句里面的COLLATE主要用于对字符进行排序,表示输入记录是,FTUID按照Chinese_PRC_CI_AS 格式进行排序

 

--添加主键比较龟毛的写法

alter table[dbo].[dic_employee] WITH nocheck ADD
 CONSTRAINT [PK_dic_employee] PRIMARY KEY  CLUSTERED
 (
  [emp_sn]
 )  ON [PRIMARY]

 

--定义、打开、删除游标

declare scroe_cursor cursor for 
select emp_sn,grade,sc_name,cast(scroe as varchar(10)) from #t_temp order by emp_sn asc,grade asc

open scroe_cursor
fetch next from scroe_cursor into @emp_sn ,@gr_code,@sc_name,@scroe

close scroe_cursor
deallocate scroe_cursor

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值