Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to write stored procedure?

I am learning how to write a stored procedure. I kinda get it but I don't. I know it goes something like this..

CREATE PROCEDURE|PROC <sproc name>
[<parameter name> [schema.]<data type> [VARYING] [=<default value>] [OUT[PUT]]
[READONLY]
[,<parameter name> [schema.]<data type> [VARYING] [=<deafult value>] [OUT[PUT]]
[READONLY]
[,...
  ...
   ]]
[WITH 
  RECOMPILE|ENCRYPTION|[EXECUTE AS{ CALLER|SELF|OWNER|<'user name'>}]
[FOR REPLICATION]
AS
 <code> | EXTERNAL NAME <assembly name>.<assembly class>.<method>

So what I am stuck on and I am trying to understand is this.. Write a stored procedure that accepts a Territory ID, Territory Description, and Region ID and inserts them as new row in the Territories table in Northwind.

Ok so I know I could do something like this I believe:

USE Northwind
GO
CREATE PRO spTerritory
AS
SELECT Territory ID,Territory Description,RegionID
From dbo.Territories

But then I can be wrong. But I dont know where to insert then as a new row in the table. I know I would use something like @newrow or @rows along that line. If someone can help me understand who to do a sproc I would be greatful.

like image 435
norris1023 Avatar asked Nov 10 '11 15:11

norris1023


1 Answers

You are looking for the INSERT statement.

CREATE PROCEDURE InsertTerritory (
     @territoryId int
    ,@territoryDescription nvarchar(200)
    ,@regionId int)
AS
BEGIN

    INSERT INTO Territories (Id, [Description], RegionId)
    VALUES (@territoryId, @territoryDescription, @regionId)

END
GO
like image 118
kevev22 Avatar answered Sep 20 '22 11:09

kevev22