发布网友 发布时间:2022-04-20 01:36
共2个回答
懂视网 时间:2022-05-02 09:16
if exists (select * from dbo.sysobjects where id = object_id(N‘[dbo].[GetUsers]‘) and OBJECTPROPERTY(id, N‘IsProcedure‘) = 1) 2 drop procedure [dbo].[GetUsers] 3 GO 4 5 create procedure GetUsers 6 @sex int 7 as 8 begin 9 declare @sqlStr varchar(1000) 10 set @sqlStr = ‘select name, sex from users‘ 11 if (@sex <> ‘‘) 12 set @sqlStr = @sqlStr + ‘ where sex =‘ + CONVERT(varchar(10),@sex) 13 exec(@sqlStr) 14 end上面的存储过程是根据参数@sex查找不同性别的用户,sex=0为男性,sex = 1为女性,
但实际上并不符合预期效果,如下图:
将参数@sex改为varchar类型即可。
convert
SQL学习笔记——关于参数类型的问题
标签:har 用户 images sts 分享 关于 procedure 根据 object
热心网友 时间:2022-05-02 06:24
SQL Server存储过程是SQL数据库的重要组成部分,其中可以用到许多参数。在SQL Server存储过程中,支持输入(Input)、输出参数(Output),也支持返回值参数(ReturnValue)。