Transaction in a procedure : Create Procedure « Store Procedure Function « SQL Server / T-SQL






Transaction in a procedure

 

3>
4> CREATE TABLE Employees(
5>   empid   int         NOT NULL,
6>   mgrid   int         NULL,
7>   empname varchar(25) NOT NULL,
8>   salary  money       NOT NULL
9> )
10> GO
1> INSERT INTO Employees(empid, mgrid, empname, salary)  VALUES(1, NULL, 'Nancy', $10000.00)
2> INSERT INTO Employees(empid, mgrid, empname, salary)  VALUES(2, 1, 'Andrew', $5000.00)
3> INSERT INTO Employees(empid, mgrid, empname, salary)  VALUES(3, 1, 'Janet', $5000.00)
4> INSERT INTO Employees(empid, mgrid, empname, salary)  VALUES(4, 1, 'Margaret', $5000.00)
5> INSERT INTO Employees(empid, mgrid, empname, salary)  VALUES(5, 2, 'Steven', $2500.00)
6> INSERT INTO Employees(empid, mgrid, empname, salary)  VALUES(6, 2, 'Michael', $2500.00)
7> INSERT INTO Employees(empid, mgrid, empname, salary)  VALUES(7, 3, 'Robert', $2500.00)
8> INSERT INTO Employees(empid, mgrid, empname, salary)  VALUES(8, 3, 'Laura', $2500.00)
9> INSERT INTO Employees(empid, mgrid, empname, salary)  VALUES(9, 3, 'Ann', $2500.00)
10> INSERT INTO Employees(empid, mgrid, empname, salary)  VALUES(10, 4, 'Ina', $2500.00)
11> INSERT INTO Employees(empid, mgrid, empname, salary)  VALUES(11, 7, 'David', $2000.00)
12> INSERT INTO Employees(empid, mgrid, empname, salary)  VALUES(12, 7, 'Ron', $2000.00)
13> INSERT INTO Employees(empid, mgrid, empname, salary)  VALUES(13, 7, 'Dan', $2000.00)
14> INSERT INTO Employees(empid, mgrid, empname, salary)  VALUES(14, 11, 'James', $1500.00)
15> INSERT INTO Employees(empid, mgrid, empname, salary)  VALUES(15, 12, 'Sean', $1500.00)
16> GO

(1 rows affected)

(1 rows affected)

(1 rows affected)

(1 rows affected)

(1 rows affected)

(1 rows affected)

(1 rows affected)

(1 rows affected)

(1 rows affected)

(1 rows affected)

(1 rows affected)

(1 rows affected)

(1 rows affected)

(1 rows affected)

(1 rows affected)
1>
2>
3> CREATE PROC RemoveEmployeeMoveSubs
4> (
5>   @empid  int,
6>   @newmgr int
7> )
8> AS
9> BEGIN TRAN
10> UPDATE E
11>   SET mgrid = @newmgr
12> FROM
13>     Employees AS E
14>   JOIN
15>     Employees AS M ON E.mgrid = M.empid
16> WHERE
17>   M.empid = @empid
18> DELETE FROM Employees
19> WHERE
20>   empid = @empid
21> COMMIT TRAN
22> GO
1> --Testing the RemoveEmployeeMoveSubs Stored Procedure
2> EXEC RemoveEmployeeMoveSubs
3>   @empid  = 3,
4>   @newmgr = 4
5>
6> drop table Employees;
7> GO

(3 rows affected)

(1 rows affected)

 








Related examples in the same category

1.Performing Data Manipulation: Adding a New Row
2.Returning a Single Result Set from a procedure
3.Check to see if a procedure exists
4.Define procedure to insert or update
5.Store Procedure: Returns the Customer record given a parameter of the ID
6.Store procedure: pre-check for the existence of the foreign key (RegionID) before attempting the insert
7.Processing Return Status Values
8.Return only one value from the procedure: without the use of an output parameter
9.Using Parameters
10.Stored Procedures as Parameterized Views
11.RECOMPILE(ing) a Stored Procedure Each Time It Is Executed
12.Stored procedure can be executed with the parameter and assigned value