CREATE PROCEDURE.
, (, ..). . . . , , , , .
CREATE { PROC | PROCEDURE } procedure_name
[
{ @parameter data_type }
[ VARYING ] [ = default ] [ OUT | OUTPUT ] [READONLY]
] [,...n ]
[ WITH [ ENCRYPTION ] [ RECOMPILE ] [ EXECUTE AS ]]
AS
[ BEGIN ] <statements> [ END ]
procedure_name
. B 128 .
@ parameter
. @. CREATE PROCEDURE . , . 2 100 .
; . ; , .
data_type
. Transact-SQL . , Transact-SQL. READONLY. cursor . cursor VARYING OUTPUT. cursor .
VARYING
, . , . cursor.
default
. default , . NULL. LIKE, - %, _, [] [^].
OUTPUT
, . . , . .
|
|
READONLY
, . , READONLY .
RECOMPILE
, Database Engine .
ENCRYPTION
, SQL Server CREATE PROCEDURE. SQL Server. , , . .
EXECUTE AS
, , .. Database Engine , . , .
, , . , , , .
EXECUTE AS { CALLER | SELF | OWNER | 'user_name' }.
CALLER
, , , , . , , , , .
SELF
EXECUTE AS SELF EXECUTE AS user_name, - , .
OWNER
, , , .
'user_name'
, , , , user_name. , , user_name.
user_name . user_name , , (, NT AUTHORITY\LocalService, NT AUTHORITY\NetworkService NT AUTHORITY\LocalSystem).
<statements>
Transact-SQL, .
CREATE PROCEDURE Transact-SQL .
NULL. , NULL, CREATE TABLE ALTER TABLE , NULL, Database Engine . NULL , , DEFAULT CREATE TABLE ALTER TABLE.
|
|
int. RETURN value. , , .
Transact-SQL Database Engine SET QUOTED_IDENTIFIER SET ANSI_NULLS. . , , SET QUOTED_IDENTIFIER SET ANSI_NULLS, , . SET, SET ARITHABORT SET ANSI_PADDINGS, . , SET , . SET , . , . .
EXEC :
EXEC procedure_name
, .
; . , @@spid.
EXEC procedure_name value1, value2...
:
uspSaleProduct. : .
1:
EXEC dbo.uspSaleProduct 819, '20050225';
2:
DECLARE @ProductID int, @SaleDate datetime;
SET @ProductID = 819;
SET @SaleDate = '20050225';
EXEC dbo.uspSaleProduct @ProductID, @SaleDate;
3:
. ,
EXEC dbo.uspSaleProduct 819, GETDATE();
3:
,
DECLARE @SaleDate datetime;
SET @SaleDate = GETDATE();
EXEC dbo.uspSaleProduct 819, @SaleDate;
, , , @ = . , . @ = value .
EXEC procedure_name @arg1=value1, @arg2= value2...
, . , ( ) , .
:
uspSaleProduct @ = value. : .
|
|
1:
CREATE PROCEDURE
EXEC dbo.uspSaleProduct @SaleDate='20050225', @ProductID=819;
2:
EXEC dbo.uspSaleProduct @ProductID=819, @SaleDate='20050225';
, , (.. DEFAULT ). , , , , @ = value.
, , , :
;
DEFAULT.