SQL中创建的存储过程要怎么样才能运行?

我现在对存储过程很模糊,谁能帮我很好的解释下??... 我现在对存储过程很模糊,谁能帮我很好的解释下?? 展开
 我来答
zzjwin100
推荐于2016-10-22 · TA获得超过286个赞
知道答主
回答量:96
采纳率:0%
帮助的人:56.6万
展开全部
存储过程是在SQL服务器上存储的已经过编译的SQL语句组.存储过程在第一次执行时要进行语法检查和编译,编译好的版本存储在过程高速缓存中供后续调用.存储过程可用于安全机制.假设某用户没有对指定表或视图的使用权限,但它具有使用存储过程的权限,通过执行存储过程,用户仍可以获得对存储过程中的表或试图的使用权.
(1)创建存储过程和调用存储过程:
创建语法:
CREATE PROCEDURE<过程名>[:版本号]
[@<参数名><参数类型>[=<默认值>][OUTPUT]……]
[WITH RECOMPILE|ENCRYPTION|RECOMPILE,ENCRYPTION]
AS <SQL语句组>
其中:版本号是可选的整数,它用于将有相同名字的存储过程编为不同的组.在执行时可选版本,但创建时一次只能创建一个版本;OUTPUT选项用于给调用者的值;RECOMPILE为重编译选项.它要求每次执行都要进行对过程重编译和优化,并创建新的查询计划;ENCYPTION为加密选项;

例如:建立并调用一个不带参数的存储过程如下:
CREATE PROCEDURE 全部学生
AS SELECT * FROM 学生
GO
EXEC 全部学生

建立并调用一个带参数的存储过程如下:
CREATE PROCEDURE 学生查询1
@SNAME VARCHAR(8),@SDEPT VARCHAR(20)
AS SELECT * FROM 学生 WHERE 姓名=@SNAME AND 所在系=@SDEPT
GO
EXEC 学生查询1 '张三','计算机系'
或: EXEC 学生查询1 @SNAME='张三',@SDEPT='计算机系'

(2)删除存储过程:
DROP PROCEDURE<存储过程名组>
百度网友cecc33a
2007-05-26 · TA获得超过345个赞
知道小有建树答主
回答量:119
采纳率:0%
帮助的人:133万
展开全部
你可以使用
EXEC 存储过程名 参数1,参数2……
这样来运行,如果没有参数,则直接
EXEC 存储过程名
就可以运行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式