sql之前一直以来是停留于写简单的sql,增上改查(之前一直都是做前端,实习写的sql也只是简单查询语句),这家公司更多用的是存储过程,视图,方法,定时器,目前接手开发的项目,我接触比较多的是存储过程,视图,尤其是存储过程感悟比较深。
- 在实际使用中,经常用过将存储过程,看做是方法,如果存储过程需要分类处理的话经常使用if,使用一个字段来进行识别如果if中字段成立就会执行 Begin----end之间的
例如:
if object_id('P_XXXX')is not null
DROP PROCEDURE [dbo].[P_XXXX]
create proc 存储过程名(例如P_XXXX)(
@actionType varchar(50)
,@actionID VARCHAR(10) = '')
AS
BEGIN
if @actionType='xxxx'
Begin
end
END
- 在使用存储过程中经常用到的就是临时变量,写法为@+变量名,例如:@Num,临时表在定义Declare关键字 @临时变量名 变量类型 (例如 declare @AAA INT),对变量赋值可以用set @AAA = 值(常量),也可以是select @AAA=值,这个值可以用sql的简单查询语句能得出一个结果来代替,如果查询的结果是一个临时表可以是使用into 赋值为临时表,临时表不需要预定义结构 ,临时表例子如下:
--经常会将该临时表进行删除
if OBJECT_ID('tempdb..#StoreOccupany') is not null drop table #StoreOccupany
select * into #StoreOccupany(这个是临时表) from Student(这个就是表)