存储过程:特性、优势与陷阱
1. 存储过程概述
存储过程是编译好的 SQL 代码批处理,可针对复杂情况进行参数化。其结构如下:
CREATE PROCEDURE <procedureName>
[(
@parameter1 <datatype> [ = <defaultvalue> [OUTPUT]]
@parameter2 <datatype> [ = <defaultvalue> [OUTPUT]]
...
@parameterN <datatype> [ = <defaultvalue> [OUTPUT]]
)]
AS
<T - SQL statements> | <CLR Assembly reference>
例如,以下是一个从表中检索行的基本存储过程示例:
CREATE PROCEDURE person.address$select
(
@addressLine1 nvarchar(120) = '%',
@city nvarchar(60) = '%',
@state nchar(3) = '___',
@postalCode nvarchar(8) = '%'
) AS
--simple procedure to execute a single query
SELECT address.AddressLine1, address.AddressLine2,
addr