MS SQL 常用SQL语句(四):创建、修改、删除存储过程的sql

4、存储过程操作:

--1、创建存储过程
--语法结构:
--Create Proc 过程名称
--@Parameter 参数类型
--[,@Parameter 参数类型output]
--As
--Begin
--....
--end

--不带参数
create proc newProc
as
begin
declare @str varchar(50);
set  @str='123456';
print @str;
end

--带参数
create procedure newProc2
@testStr varchar(50),--若只有一个参数则不用逗号
@testStr2 varchar(50)
As
begin
	print '第一个参数的值为:'+@testStr;
	print '第二个参数的值为:'+@testStr2;
end

--带输出值
create procedure newProc3
@test int,
@test2 int,
@testSum int output
as
begin
	set @testSum = @test+@test2;
end

--2、执行存储过程
--语法结构:exec|execute proc|procedure procedureName [parameters];
exec newProc;--不带参数,也没有返回值
exec newProc2 '123456','ABCDEFG';--带参数,没有返回值

--带参数,有返回值
declare @testSum int;
set @testSum=100;
print @testSum;
exec newProc3 10,20,@testSum output;
print @testSum;

--3、查看存储过程:
select * from sysobjects where xtype='P'
--或者
SELECT name, definition
FROM sys.sql_modules AS m
INNER JOIN sys.all_objects AS o ON m.object_id = o.object_id
WHERE o.[type] = 'P'

--xtype可替换为如下参数:
--C = CHECK 约束
--D = 默认值或 DEFAULT 约束
--F = FOREIGN KEY 约束
--L = 日志 
--FN = 标量函数
--IF = 内嵌表函数
--P = 存储过程
--PK = PRIMARY KEY 约束(类型是 K)
--RF = 复制筛选存储过程
--S = 系统表
--TF = 表函数
--TR = 触发器
--U = 用户表
--UQ = UNIQUE 约束(类型是 K)
--V = 视图
--X = 扩展存储过程

--4、修改存储过程
--修改与创建语法结构一致,就是将创建的create关键字修改成alter关键字即可,至于业务逻辑可以根据实际情况修改。
alter proc newProc
as
begin
declare @str varchar(50);
set  @str='123abc';
print @str;
end

--5、重命名存储过程名称
--语法结构:exec sp_rename '存储过程的原名称','存储过程的新名称';
exec sp_rename 'newProc','newProc1';
--可能会产生警告:更改对象名的任一部分都可能会破坏脚本和存储过程。

--6、删除存储过程
--语法结构:exec procedure 存储过程名称[,存储过程,存储过程];
drop procedure newProc;
drop procedure newProc2,newProc3;

猜你喜欢

转载自1017401036.iteye.com/blog/2337378