sql2005存储过程
先运行 SQL Server Management Studio -> 打开数据库 -> 打开胡碰“可编程性”->裤局谈 再打开“存储腊败过程”
⑵ sql2005 存储过程在哪里写
1.进入 SQL Server Management Studio
2.登陆到你需要修改存储过程的数据库
3.按顺序点击你需要修改数据库,可编程性陆乎丛,存储过程
你可以在这里修改或新增存储过程
ps:另外你也顷渣可以直接使用早樱语句在SQL Server Management Studio的sql编辑界面中使用语句建立新的存储过程
希望可以帮到你!
⑶ 在sql2005中怎么查看存储过程
select * from sysobjects where type='P'
go
select text from syscomments where id=object_id('存储过程名称')
或者
右击数据库->展开->存储过程->展开...找到某个特定的存储过程
⑷ sql server2005 sql的存储过程怎么编写
1、选中要在其中编写储存过程的数据库
2、展开该数据库,展开“可编程性”
3、选中“存储过程”,单击右键,弹出一个菜单,选择“新建存储过程”,
在右边茄桥会打开一个窗口,SQLSERVER2005已经预定义好了关键字和结构,
将内容补充即可。
当然,如芹肢果是对参数定义或存储过程体怎么写有疑问颤首猛之话,请追问。
⑸ SQL2005中如何创建一个带有输出参数的存储过程并执行
create procere 存皮销储过程名称
@c_codeid_par varchar(30),
@c_idvalue_par varchar(16),
@i_result_par tinyint output,
@c_message_par varchar(300) output
as
begin
exec 存储过歼肆程名称 @c_message_par output 在调用的时候,也燃改游要加上output
⑹ sql server2005 sql的存储过程怎么编写
create
proc[ere]存储过程名
[{@参数
数据类型
}[=默认值][output]]
[with
encryption]
-----------------------------------------表示对储过程的文本进行加密,防止它人查看或修改.
as
T-SQL语句[......]。
注意:[
]内的内容为可写项,也可不写。
我就只知道这么多了,其余就不清楚了
⑺ 如何在SQL SERVER 2005存储过程中,使用循环语句
实现循环有很多种方式 看你需要 或者喜欢
有for 循环
有while 循环
有foreach 循环
等等 我用的不是 sql sever数据库 具体的 你自己写写看
------------------------------------------------------------
SQL
SERVER数据库建立存储过程时,可以使用循环语句,下面就将为您介绍这种SQL SERVER数据库中存储过程使用循环语句的方法,供您参考。
CREAT PROCEDURE tester
AS
BEGIN
SET NOCOUNT ON;
DECLARE @userId varchar(50)
DECLARE @count int
SET @count =
0
SELECT @count = count(*) FROM UserService_User WHERE Account like
'%111%'
WHILE @count > 0
BEGIN
SELECT @userId = Id
FROM UserService_User WHERE Account like '%111%'
exec
UserService_RemoveUserByUserId @userId
SET @count = @count -1
END
END
说明:
1、此存储过程在SQL SERVER 2005上测试通过,值得注意的是,循环体中,语句是使用BEGIN……END包括的,而不是网络上常说的WHILE
……END WHILE结构,其他的循环语句,如LOOP ……UNTIL……END LOOP也不能通过编译,也许是版本的问题,但在SQL
SERVER2005中,循环体使用BEGIN……END就可以,而不能使用网络上常说的WHILE ……END WHILE结构。
2、循环体中 UserService_RemoveUserByUserId
是一个存储过程的名称,@userId为该存储过程的参数,如果有多个参数,使用“,”分开就可以了,这也是存储过程调用另一个存储过程的一种方法。
这个是我从网上网络的 希望对你有用
⑻ sql2005存储过程中变量的使用
@yf在你的存储过程中是定义了,但是在@sql中没有定义,当你执行@sql的时候,外面定义的变量在里面是无效的。给你3点建议。
1. 能不用动态sql尽量不要用,因为系统没法给你预先确定执行计划,所以动态sql是不高效的。
2. 既然你用了动态sql,那么复杂的判断逻辑就不要放在 @sql 里面了。而是放在外面。
3. 外面定义的@yf,是一个变量,如果直接用在@sql那就不是变量,而仅仅是一个符号,所以只可以用 @sql = @sql + @yf的方式使用,不可以在里面直接用。当然还要注意单引号。
4. 临时表不是表变量,用完记得删除。 如果涉及到的数据不是特别多,建议你用表变量效率更高。declare @test001 table (a_yf int,a_dwbh int)
⑼ sql2005存储过程对象名无效
这样的提前棚隐示说明当前数据库没有这个存储过程
ALTER PROCEDURE 是修改一个存储过程
新建是CREATE PROCEDURE
如果慧厅是修改,确认是否选和哗择的是正确的所在数据库或者前面用
use 数据库名
⑽ Sqlserver2005数据库如何写带参数的存储过程
给裤友你一个我以前做过的例子吧。有什么不会的可以交流一下
创建一个存储过程展胡蔽槐示学生成绩排名
输入参数:考试代码、班级编码、科目编码
要求:如果班级为*,则表示所有班级
如果科目为*,则表示所有科目
--存储过并猛程
if exists(select * from dbo.sysobjects where name='studentpm'and xtype='p')
begin
drop PROCEDURE [studentpm]
end
go
CREATE PROCEDURE studentpm @SCNo varchar(10),@CLNo varchar(10),@CNo varchar(10),@sMsg varchar(200) out
AS
declare @SQL varchar(8000)
Begin
if not exists(select * from Score sc,Class cl,Cource co,Student st
where sc.SNo=st.SNo and sc.CNo=co.CNo and cl.CLNo=st.SClassNo and sc.SCNo=@SCNo)
begin
SET @sMsg='考试代码不存在'
--print(@sMsg)
return (-1)
end
set @SQL='select st.SName,sc.SCGrade,sc.SCNo from Score sc,Class cl,Cource co,Student st
where sc.SNo=st.SNo and sc.CNo=co.CNo and cl.CLNo=st.SClassNo'
if (@CLNo<>'*')
set @sql=@sql +' and cl.CLNo='''+@CLNo+''''
if @CNo<>'*'
set @sql=@sql +' and co.CNo='''+@CNo+''''
set @sql=@sql+' order by sc.SCGrade desc'
print (@sql)
exec (@sql)
Return 1
End
go
调用:
declare @sMsg varchar(200)
declare @iRtn int
EXEC MyTestDB.DBO.studentpm '003','002','002',@sMsg out
EXEC MyTestDB.DBO.studentpm '003','*','*',@sMsg out
EXEC @iRtn=MyTestDB.DBO.studentpm '004','*','*',@sMsg out
--print(@iRtn)
print(@sMsg)