Presentation is loading. Please wait.

Presentation is loading. Please wait.

SQL Server Stored Procedures.

Similar presentations


Presentation on theme: "SQL Server Stored Procedures."— Presentation transcript:

1 SQL Server Stored Procedures

2 CREATE PROCEDURE dbo.CategoryList
WITH ENCRYPTION AS SELECT ProductCategoryName, ProductCategoryDescription FROM dbo.ProductCategory; go EXEC sp_helptext ‘dbo.CategoryList’; Result: The text for object ‘dbo.CategoryList’ is encrypted.

3 اجرای یک رویه راه دور EXEC [MAUINoli\SQL2COPENHAGEN].OBXKites.dbo.pProductCategory_AddNew ‘Food’, ‘Eatables’; SELECT CustomerTypeName, DiscountPercent, [Default] FROM OPENQUERY( [MAUI\COPENHAGENNoli\SQL2], ‘EXEC OBXKites.dbo.pCustomerType_Fetch;’);

4 USE OBXKites; go CREATE PROCEDURE dbo.CategoryGet ( @CategoryName NVARCHAR(35) )AS SELECT ProductCategoryName, ProductCategoryDescription FROM dbo.ProductCategory WHERE ProductCategoryName Go EXEC dbo.CategoryGet N’Kite’;

5 CREATE PROCEDURE dbo.pProductCategory_Fetch2
@Search NVARCHAR(50) = NULL -- = null then return all ProductCategories -- is value then try to find by Name AS SET NOCOUNT ON; SELECT ProductCategoryName, ProductCategoryDescription FROM dbo.ProductCategory WHERE ProductCategoryName IS NULL; IF = 0 BEGIN; RAISERROR( ‘Product Category ‘’%s" Not END;

6 Create Procedure with Table-Valued Parameters
CREATE TYPE OrderDetailsType AS Table ( LineNumber INT, ProductID INT, IsNew BIT, IsDirty BIT, IsDeleted BIT );

7 Create Procedure with Table-Valued Parameters
CREATE PROC OrderTransactionUpdateTVP INT OUTPUT, @CustomerID INT, @OrderDate as OrderDetailsType READONLY)AS SET NoCount ON ; Begin Try Begin Transaction; -- is NULL then it’s a new order, so Insert Order IS NULL BEGIN; Insert Orders(OrderDate, CustomerID) = Scope_Identity(); END; SELECT * ; Commit Transaction; End Try Begin Catch; RollBack; End Catch RETURN;

8 نحوه فراخوانی رویه با پارامتر از نوع جدول
INT; as OrderDetailsType; (LineNumber,ProductID,IsNew,IsDirty,IsDeleted) VALUES (5, 101, -1, -1, 0), (2, 999, 0, -1, 0), (3, null, 0, 0, 0); EXEC OrderTransactionUpdateTVP @OrderID Output , @CustomerID = ‘78’, @OrderDate = ‘2008/07/24’, @Details

9 برگرداندن مقدار از رویه
USE OBXKites; go CREATE PROC dbo.GetProductName ( @ProductCode CHAR(10), @ProductName VARCHAR(25) OUTPUT) AS = ProductName FROM dbo.Product WHERE Code RETURN;

10 نحوه فراخوانی رویه اخیر
USE OBXKites; VARCHAR(25); EXEC dbo.GetProductName OUTPUT;

11 RETURNاستفاده از CREATE PROC dbo.IsItOK ( @OK VARCHAR(10))AS
= ‘OK’ BEGIN; RETURN 0; END; ELSE RETURN -100;

12 Procedureشکل کلی دستور ایجاد
CREATE PROCEDURE|PROC <name> [<parameter name> [schema.]<data type> [VARYING] [= <default value>] [OUT [PUT]] [READONLY] [, ……]] [WITH RECOMPILE| ENCRYPTION | [EXECUTE AS { CALLER|SELF|OWNER|<’user name’>}] AS <code> | EXTERNAL NAME <assembly name>.<assembly class>.<method>

13 RAISERROR (<message ID | message string | variable>, <severity>, <state>
[, <argument> [,<...n>]] ) [WITH LOG|SETERROR|NOWAIT]

14 sp_addmessage [@msgnum =] <msg id>,
=] <severity>, =] <’msg‘> [, =] <’language‘>] [, =] [TRUE|FALSE]] [, =] ‘replace‘]

15 sp_addmessage @msgnum = 60000, @severity = 10, @msgtext = ‘%s is not a valid Order date. Order date must be within 7 days of current date.’;

16 sp_dropmessage <message number>

17


Download ppt "SQL Server Stored Procedures."

Similar presentations


Ads by Google