SQL的儲存過程及把字段資料改為文字形式

2021-10-03 17:34:24 字數 3985 閱讀 7932

字段資料改為文字形式

儲存過程語法的三種形式:

無返無參無返有參有返有參

儲存過程綜合案例

注意:如果儲存過程始終存在則無需判斷儲存過程是否存在 < 如下同理 >

//儲存過程	《無返無參》

//判斷儲存過程是否存在 儲存過程名稱(sp_或xp_)

ifexists

(select *

from sysobjects where name=

'sp_heros'

)//存在刪除

drop proc sp_heros

go//建立儲存過程

create proc sp_heros

as//sql執行語句

select *

from userinfo s1,sutclass s2 where s1.userid=s2.userid order by s1.userid

go//呼叫儲存過程 (exec 或 execute)

exec sp_heros

//儲存過程《無返有參》

//判斷儲存過程是否存在

ifexists

(select *

from sysobjects where name=

'xp_peroscan'

)//存在刪除

drop proc xp_peroscan

go//建立儲存過程

create proc xp_peroscan

//建立乙個返回引數變數

@sum varchar(50

)as//sql執行語句

select *

from userinfo s1,sutclass s2 where s1.userid=s2.userid and username like ''

+@sum+

'%' order by s1.userid

go//呼叫儲存過程

exec xp_peroscan '趙'

//儲存過程 《有返有參》

ifexists

(select *

from sysobjects where name=

'sp_terop'

)//存在刪除

drop proc sp_terop

gocreate proc sp_terop

//建立乙個返回引數變數

@num int output,

//建立乙個引數的變數

@ken varchar(10

)as//sql執行語句

select @num=

count(*

)from userinfo where addres like ''

+@ken+

'%'go

//宣告乙個變數

declare @hun int //(可自選或者可和返回引數的引數名一樣)

exec sp_terop @hun output,

'湖北'

print '個數:'

+convert

(varchar(5

),@hun)

//建立乙個邏輯判斷的儲存過程 有返有參

ifexists

(select *

from sysobjects where name=

'sp_jisuanji'

)drop proc sp_jisuanji

gocreate proc sp_jisuanji

@sum int output,

@num1 int,

@bnt varchar(10

),@num2 int

asif

(@bnt=

'+')

begin

set @sum=@num1+@num2

endelse

if(@bnt=

'-')

begin

set @sum=@num1-@num2

endelse

if(@bnt=

'*')

begin

set @sum=@num1*@num2

endelse

if(@bnt=

'/')

begin

set @sum=@num1/@num2

endelse

begin

set @sum=

404 end

godeclare @kun int

exec sp_jisuanji @kun output,2,

'+',

1print '結果為:'

+convert

(varchar(5

),@kun)

例二

// 邏輯判斷並新增 (查詢資料庫是否存在張三,是則新增,否則返回404)

ifexists

(select *

from sysobjects where name=

'sp_youer'

)drop proc sp_youer

gocreate proc sp_youer

@num01 int output,

@username varchar(50

),@userpwd varchar(50

),@*** varchar(2

),@birthday datetime,

@addres varchar

(200),

@remarks varchar

(200)as

declare @sum int

select @sum=

count(1

)from userinfo where username=@username

if(@sum>0)

begin

set @num01=

404 end

else

begin

insert into userinfo values

(@username,@userpwd,@***,@birthday,@addres,@remarks)

set @num01=

isnull

( @@identity,0

) end

godeclare @num02 int

exec sp_youer @num02 output,

'張三'

,'123456'

,'女'

,'1998/04/08'

,'湖北省咸寧市通山縣'

,'我是臭弟弟06'

if(@num02=

404)

begin

print '新增失敗'

+convert

(varchar(50

),@num02)

endelse

begin

print '新增成功'

+convert

(varchar(50

),@num02)

endselect *

from userinfo

//查詢表中有幾條資料

select isnull

(@@identity,0

)from userinfo

一般男女會用char(2)型別,我們就通常會把【0/1】轉換為文字的形式。

// 例子		0--男   1--女   《男女問題》

select ***=

case when ***=

0 then '男' when ***=

1 then '女'end from userinfo

sql中擷取字段資料的函式

今天遇到乙個做模糊查詢的問題,做模糊查詢時,要將做模糊查詢的資料第乙個數字給擷取掉。之前想在service中用for 迴圈 用startswith 做篩選,方案沒有通過,然後上網上搜取sql相關函式,找到了乙個方法 1 left s,n 函式返回字串s開始的最左邊n個字元。eg select lef...

Access 可用的字段資料型別及用法

下表總結了在 microsoft access 中所有可用的字段資料型別 及它們的用法和儲存空間的大小。資料型別用 法大 小 文字 text 文字或文字與數字的組合,例如位址 也可以是不需要計算的數字,例如 號碼 零件編號或郵編。最多 255 個字元。microsoft access 只儲存輸入到字...

常用的SQL語句及儲存過程

1.給表中字段新增描述資訊 create table t2 id int,name char 20 go exec sp addextendedproperty ms description employee id user dbo,table t2,column id exec sp update...