create procedure proc_人事
@sex varchar(10) = '李四' --参数 后面添加值为默认参数
as
select * from 员工表 where Name=@sex
--前面加上alter,后面重复创建过程可以进行修改以前有的存储过程
create procedure proc_人事 -- 前面加一个#是局部临时过程,加两个#是全局临时过程
@sex varchar(10) output -- 创建输出参数
as
select @sex=Name from 员工表 where Salary=1000
drop proc proc_人事 --删除
declare @s varchar(10)
exec proc_人事 @sex=@s output
print @s
exec sp_helptext proc_人事 --查看存储过程
--存储过程可以嵌套
--系统存储过程就是系统已经写好的存储过程,提供给我们可以直接使用,方便操作
--设计存储过程的规则:
--1.可以引用在同一存储过程中创建的对象,只要引用时已经创建了对该对象即可。
--2.可以在存储过程内引用临时表。如果在存储过程内创建本地临时表,则临时表仅为该存储过程而存在;退出该存储过程后,临时表将消失
--3.如果执行的存储过程将调用另一个存储过程,则被调用的存储过程可以访问由第一个存储过程创建的所有对象
--4.如果执行对远程Microsoft Sql Server 2008实例进行更改的远程存储过程,则不能回滚这些更改。远程存储过程不参与事务处理
--5.存储过程中的参数的最大数目为2100
--6.存储过程中的局部变量的最大数目仅受可用内存的限制
--7.存储过程中不能包括一些T-sql语句
@sex varchar(10) = '李四' --参数 后面添加值为默认参数
as
select * from 员工表 where Name=@sex
--前面加上alter,后面重复创建过程可以进行修改以前有的存储过程
create procedure proc_人事 -- 前面加一个#是局部临时过程,加两个#是全局临时过程
@sex varchar(10) output -- 创建输出参数
as
select @sex=Name from 员工表 where Salary=1000
drop proc proc_人事 --删除
declare @s varchar(10)
exec proc_人事 @sex=@s output
print @s
exec sp_helptext proc_人事 --查看存储过程
--存储过程可以嵌套
--系统存储过程就是系统已经写好的存储过程,提供给我们可以直接使用,方便操作
--设计存储过程的规则:
--1.可以引用在同一存储过程中创建的对象,只要引用时已经创建了对该对象即可。
--2.可以在存储过程内引用临时表。如果在存储过程内创建本地临时表,则临时表仅为该存储过程而存在;退出该存储过程后,临时表将消失
--3.如果执行的存储过程将调用另一个存储过程,则被调用的存储过程可以访问由第一个存储过程创建的所有对象
--4.如果执行对远程Microsoft Sql Server 2008实例进行更改的远程存储过程,则不能回滚这些更改。远程存储过程不参与事务处理
--5.存储过程中的参数的最大数目为2100
--6.存储过程中的局部变量的最大数目仅受可用内存的限制
--7.存储过程中不能包括一些T-sql语句