什么是存储过程?写出创建和调用存储过程的语法
时间: 2023-06-30 16:24:21 浏览: 49
存储过程是一组预先编译好的SQL语句的集合,它们组成了一个可重用的代码块,可以在需要时被调用执行。存储过程可以减少SQL语句的重复编写,提高SQL语句的执行效率和安全性。
创建存储过程的语法如下:
```sql
CREATE PROCEDURE procedure_name
[ @parameter1 datatype [ = default_value ] ]
[ , @parameter2 datatype [ = default_value ] ]
[ , ... ]
AS
BEGIN
-- 存储过程的SQL语句
END;
```
其中,`procedure_name`是存储过程的名称,`@parameter`是存储过程的输入参数,`datatype`是参数的数据类型,`default_value`是参数的默认值。
调用存储过程的语法如下:
```sql
EXEC procedure_name [ @parameter1 = value1 [ , @parameter2 = value2 ] ]
```
其中,`procedure_name`是存储过程的名称,`@parameter`是存储过程的输入参数,`value`是参数的值。如果存储过程没有输入参数,可以省略`[ @parameter = value ]`这一部分。
举个例子,创建一个简单的存储过程,用于查询指定城市的用户数量:
```sql
CREATE PROCEDURE get_user_count_by_city
@city VARCHAR(50)
AS
BEGIN
SELECT COUNT(*) FROM users WHERE city = @city;
END;
```
调用这个存储过程的语法如下:
```sql
EXEC get_user_count_by_city @city = 'Beijing';
```
这个存储过程将返回一个整数值,表示北京市的用户数量。