sqlserver2005中如何定义一个存储过程,可以实现参数化查询?

wang66111988 2010-12-13 01:34:55
sqlserver2005中如何定义一个存储过程,可以实现参数化查询?例如
select * from a where name=?
...全文
72 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yanguohua2008 2010-12-13
  • 打赏
  • 举报
回复
动态SQL 可以参考以下写法:
create table tb_stat
(
uname varchar(20),
date datetime,
unum int,
isopt tinyint
)
go
insert into tb_stat
select 'a', '2010-12-01', 1, 0 union
go


create proc sp_proctest
(
@uname varchar(20)
)
as
begin

declare @sql nvarchar(1000)
set @sql = N'select * from tb_stat where uname = ''' + @uname + ''''
exec(@sql)
end

go
exec sp_proctest 'a'
wang66111988 2010-12-13
  • 打赏
  • 举报
回复
动态SQL
wang66111988 2010-12-13
  • 打赏
  • 举报
回复
prepare 如何用?
王向飞 2010-12-13
  • 打赏
  • 举报
回复

--> 数据库版本:
--> Microsoft SQL Server 2008 (RTM) - 10.0.1600.22
---->建表
create table 仑库表([WarehouseID] varchar(3),[Capacity] int)
insert 仑库表
select '001',100 union all
select '002',20
GO

create proc pa_仑库表
@cae int
as
begin
select * from 仑库表 where [Capacity]=@cae
end

--
exec pa_仑库表 100

--> 查询结果
SELECT * FROM 仑库表
--> 删除表格



--> 删除表格
--DROP TABLE 仑库表

-晴天 2010-12-13
  • 打赏
  • 举报
回复
CREATE PROCEDURE  ProcedureName 
@Param1
AS
BEGIN
SELECT * from a where name=@Param1
END
水族杰纶 2010-12-13
  • 打赏
  • 举报
回复
create proc proc_name
@name varchar(10)
as
select * from a where name=@name

22,294

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧