删除已经创建的存储过程
【存储过程的权限】
ALTER ROUTINE 编辑或删除存储过程
CREATE ROUTINE 创建存储过程
EXECUTE运行存储过程
【存储过程的创建语法】
delimiter // -- 声明分隔符(命令结束符)
create
definer = user@hostname | current_user
procere 存储过程名 (参数)
comment '注释'
sql security definer | invoker -- sql 的安全设置
begin
存储过程的body
‘贰’ SQL 中存储过程怎么使用
一、简单的储存过程:
1、创建一个存储过程
create procere GetUsers()
begin
select * from user;
end;12345
2、调用存储过程
call GetUsers();12
3、删除存储过程
drop procere if exists GetUsers;
二、带参数的存储过程
1、MySql 支持 IN (传递给存储过程) , OUT (从存储过程传出) 和 INOUT (对存储过程传入和传出) 类型的参数 , 存储过程的代码位于 BEGIN 和 END 语句内 , 它们是一系列 SQL 语句 , 用来检索值 , 然后保存到相应的变量 (通过指定INTO关键字) ;
2、下面的存储过程接受三个参数 , 分别用于获取用户表的最小 , 平均 , 最大分数 , 每个参数必须具有指定的类型 , 这里使用十进制值(decimal(8,2)) , 关键字 OUT 指出相应的参数用来从存储过程传出
create procere GetScores(
out minScore decimal(8,2),
out avgScore decimal(8,2),
out maxScore decimal(8,2)
)
begin
select min(score) into minScore from user;
select avg(score) into avgScore from user;
select max(score) into maxScore from user;
end;1234567891011
3、调用此存储过程 , 必须指定3个变量名(所有 MySql 变量都必须以@开始) , 如下所示 :
call GetScores(@minScore, @avgScore, @maxScore);12
4、该调用并没有任何输出 , 只是把调用的结果赋给了调用时传入的变量@minScore, @avgScore, @maxScore, 然后即可调用显示该变量的值 :
select @minScore, @avgScore, @maxScore;
5、使用 IN 参数 , 输入一个用户 id , 返回该用户的名字 :
create procere GetNameByID(
in userID int,
out userName varchar(200)
)
begin
select name from user
where id = userID
into userName;
end;12345678910
6、调用存储过程 :
call GetNameByID(1, @userName);
select @userName;123
‘叁’ 什么是存储过程Sql 存储过程知识详解
存储过程的好处: 1.由于数据库执行动作时,是先编译后执行的。然而存储过程是一个编译过的代码块,所以执行效率要比T-SQL语句高。 2.一个存储过程在程序在网络中交互时可以替代大堆的T-SQL语句,所以也能降低网络的通信量,提高通信速率。 3.通过存储过程能够使没有权限的用户在控制之下间接地存取数据库,从而确保数据的安全。 小结:总之存储过程是好东西,在做项目时属于必备利器,下面介绍存储过程的基本语法。存储过程的语法和参数讲解存储过程的一些基本语法:--------------创建存储过程----------------- CREATE PROC [ EDURE ] procere_name [ ; number ] [ { @parameter data_type } [ VARYING ] [ = default ] [ OUTPUT ] ] [ ,...n ] [ WITH { RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION } ] [ FOR REPLICATION ] AS sql_statement [ ...n ] --------------调用存储过程----------------- EXECUTE Procere_name '' --存储过程如果有参数,后面加参数格式为:@参数名=value,也可直接为参数值value --------------删除存储过程----------------- drop procere procere_name --在存储过程中能调用另外一个存储过程,而不能删除另外一个存储过程
‘肆’ 怎样在Sql server中创建,执行和删除存储过程
sqlserver存储过程的基本操作:
一、创建存储过程
1、语法格式:
createproc|procerepro_name
[{@参数数据类型}[=默认值][output],
{@参数数据类型}[=默认值][output],
....
]
as
SQL_statements
以上是最基本语法,举个简单的例子:
CREATEprocp_test
as
selectretu=1
存储过程返回一个结果集:1
2、执行存储过程
EXECUTEProcere_name''--存储过程如果有参数,后面加参数格式为:@参数名=value,也可直接为参数值value
例子调用结果:
dropprocereprocere_name--在存储过程中能调用另外一个存储过程,而不能删除另外一个存储过程
‘伍’ SQL中创建的存储过程要怎么样才能运行
你可以使用
EXEC 存储过程名 参数1,参数2……
这样来运行,如果没有参数,则直接
EXEC 存储过程名
就可以运行了