SQL Server存储过程类似普通编程里的函数,里面包含了一些复杂的任务,只需定义一次,后面即可便捷调用,而不需要每次都写一长串。 存储过程可以带参数,也可以不带参数。 常用操作有:创建、执行、修改、删除。
SQL Server存储过程类似普通编程里的函数,里面包含了一些复杂的任务,只需定义一次,后面即可便捷调用,而不需要每次都写一长串。
存储过程可以带参数,也可以不带参数。
常用操作有:创建、执行、修改、删除。
创建存储过程
使用CREATE PROC命令,格式是【CREATE PROC+存储过程名称】,【AS】后为过程内容,一般用【BEGIN…END】包裹:
CREATE PROC p_Name
AS
BEGIN
-- Do something.
END
执行存储过程
使用EXEC命令(全名是EXECute),格式是【EXEC+存储过程名称】:
EXEC
修改存储过程
与创建类似,使用ALTER命令:
ALTER PROC p_Name
AS
BEGIN
-- Do something new.
END
带参数的存储过程
上面所举例子都是无参数的存储过程
存储过程可以带上参数,用来控制作用范围。
创建带参数的存储过程
格式与无参类似,在名称后加上@变量名+类型(与声明变量类似,但不需要使用declare关键字,可理解为:把变量作为参数);
此处的参数可以定义多个,以逗号分隔;
在过程内容中,可以调用这些参数。
CREATE PROC p_Name @Arg1Name VARCHAR(20), @Arg2Name INT,
AS
BEGIN
-- Do something with @ArgName @Arg2Name.
END
执行带参数的存储过程
格式【EXEC+存储过程名称+参数的值】;
直接跟参数的值,比如:参数的字符,用单引号包裹;参数是数字,则不需要引号包裹;
如有多个参数,以逗号分隔。
EXEC p_Name '参数①', '参数②'
修改带参数的存储过程
同样使用Alter命令,不赘述。
删除存储过程
使用DROP PROC+存储过程名称命令:
IF (OBJECT_ID('p_Name', 'P') IS NOT NULL)
DROP PROC p_Name
GO