procédure stockée SQL et modifier les données sur le terrain sous forme de texte

SQL procédures stockées

Procédures stockées SyntaxeLes trois formes:
pas de retour sans argument , pas de retour a des paramètres , il y a des paramètres là - bas .
Procédures stockées cas intégré

Procédures stockées « retour sans aucun argument. »

Faites attention: Si la procédure stockée est toujours présent il n'y a pas besoin de déterminer s'il y a une procédure stockée <Suit même>

//存储过程	《无返无参》
//判断存储过程是否存在  储存过程名称(sp_或xp_)
if exists(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

Procédures stockées « n'a pas de paramètres de retour »

//存储过程《无返有参》
//判断存储过程是否存在
if exists(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 '赵'

Les procédures stockées « sont revenus que le Sénat »

//存储过程 《有返有参》
if exists(select * from sysobjects where name='sp_terop') 
//存在删除
drop proc sp_terop

go

create 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)

Procédures stockées cas intégré

//创建一个逻辑判断的存储过程 有返有参
if exists(select * from sysobjects where name='sp_jisuanji')
drop proc sp_jisuanji

go

create proc sp_jisuanji
@sum int output,
@num1 int,
@bnt varchar(10),
@num2 int
as 
	if(@bnt='+') 
	begin
		set @sum=@num1+@num2
	end
	else if(@bnt='-') 
	begin
		set @sum=@num1-@num2
	end
	else if(@bnt='*') 
	begin
		set @sum=@num1*@num2
	end
	else if(@bnt='/') 
	begin
		set @sum=@num1/@num2
	end
	else
	begin
		set @sum=404
	end
go

declare @kun int 
exec sp_jisuanji @kun output,2,'+',1
print '结果为:'+convert(varchar(5),@kun)

exemple deux

// 逻辑判断并添加 (查询数据库是否存在张三,是则添加,否则返回404)
if exists(select * from sysobjects where name='sp_youer')
drop proc sp_youer

go

create proc sp_youer

@num01 int output,
@UserName varchar(50),
@UserPwd varchar(50),
@Sex 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,@Sex,@Birthday,@Addres,@Remarks)
		set @num01=ISNULL( @@IDENTITY,0)
	end
go

declare @num02 int
exec sp_youer @num02 output,'张三','123456','女','1998/04/08','湖北省咸宁市通山县','我是臭弟弟06'
if(@num02=404)
begin
	print '添加失败'+convert(varchar(50),@num02)
end
else
begin
	print '添加成功'+convert(varchar(50),@num02)
end
select * from UserInfo

//查询表中有几条数据
select ISNULL(@@IDENTITY,0)  from UserInfo

Les données de terrain sous forme de texte au lieu

En général, les hommes et les femmes seront convertis en texte sous la forme d'un type de char (2), nous allons habituellement [0/1].

// 例子		0--男   1--女   《男女问题》
select sex=case when sex=0 then '男' when sex=1 then '女'end from UserInfo
Publié un article original · louange gagné 0 · Vues 20

Je suppose que tu aimes

Origine blog.csdn.net/m0_46253449/article/details/104774621
conseillé
Classement