我正在尝试弄清楚如何在AdventureWorks数据库中创建一个存储过程,该存储过程给定一个city
作为输入返回该城市的address
,stateprovince
和salesterritory
列。
我一直在效仿一本书的例子,但我觉得我很快就迷失了!
这是我到目前为止所拥有的...
CREATE PROCEDURE GetRegion
@address nvarchar(60) not null,
@province nvarchar(50) not null,
@territory varchar(50) not null
WITH EXECUTE AS CALLER
AS
BEGIN
SET NOCOUNT ON;
UPDATE Person.Address
SET AddressLine1 = @address
UPDATE Person.StateProvince
SET Name = @province
UPDATE Sales.SalesTerritory
SET Name = @territory
我真的开始兜圈子了,不确定我哪里出了问题,或者我的下一步需要做什么。
感谢您的任何帮助!
您可能需要这样的东西,而不是 UPDATE
语句:
SELECT * FROM Person.Address WHERE AddressLine1 = @address;
SELECT * FROM Person.StateProvince WHERE Name = @province;
SELECT * FROM Sales.SalesTerritory WHERE Name = @territory;
但是,如果您还不知道何时使用SELECT
,UPDATE
,INSERT
或DELETE
那么在我看来,在学习存储过程之前,您需要先参加数据库和SQL的速成课程。