create procfeduer GetAll
@id varchar(20)='%20%'
as
select * from name where num like @id
go
execute GetAll调用这个存储过程的时候怎么动态使用@id啊?,这个不是在变量中写死了是20的吗?要怎么做啊?
求教存储过程中使用like 的方法
@id varchar(20)='%20%'
as
select * from name where num like @id
go
execute GetAll调用这个存储过程的时候怎么动态使用@id啊?,这个不是在变量中写死了是20的吗?要怎么做啊?
求教存储过程中使用like 的方法
@id varchar(20)='20'
as
select * from name where num like '%'+@id+'%'
go
SET @id='''%20%'''PRINT('select * from name where num like '+@id)/*select * from name where num like '%20%'
77的SQL 写的真是牛逼。。
create procfeduer GetAll
@id varchar(20)
as
select * from name where num like '%'+@id+'%'
go
execute GetAll '20'
这样是不是就可以了? 20这个变量随便变?
这个不是在变量中写死了是20的吗?
------------->这样定义叫做参数的默认值。
有默认值时,如果在调用时没有赋值,就是用其默认值,
如果赋值,就使用指定的值,比如execute GetAll '%102%'
create proc GetAll
@id varchar(20)
as
declare @sql nvarchar(1000)
set @sql='select * from name where num like ''%'+@id+'%'''
exec(@sql)
go
create procfeduer GetAll
@id varchar(20) --这里不能直接赋值,声明一个变量就行了
as
select * from name where num like '%'+@id+'%' --用like要加上%,这里是找出包含@id的字段
go--执行存储过程
execute GetAll 20 --存储过程后面跟变量@id的值
@id varchar(20)='20'
as
select * from name where num like '%'+@id+'%'
go
create procfeduer GetAll
@id varchar(20)='%20%'
as
select * from name where num like @id
go
--默认值方式:
execute GetAll
--指定参数值方式:
execute GetAll '%120%'--法二:
create procfeduer GetAll
@id varchar(20)='20'
as
select * from name where num like '%'+@id+'%'
go
--默认值方式:
execute GetAll
--指定参数值方式:
execute GetAll '120'
drop proc GetAll
gocreate proc GetAll
@id varchar(20)
as
select * from name where num like @id
goexec GetAll '%20%'
go
@id varchar(20)
as
select * from name where num like @id
goexecute GetAll '%20%'