2017-04-08 125 views
0

我想弄清楚如何在AdventureWorks數據庫中創建一個存儲過程,該數據庫將city作爲輸入返回該城市的address,stateprovincesalesterritory列。SQL Server存儲過程城市返回

我一直在關注一個書的例子,但我覺得我很快就會偏離!

這裏是我迄今爲止...

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 

我真的開始在圈子去,我不知道我要去的地方錯還是我的下一個步驟需要是什麼。

感謝您的幫助!

+3

'UPDATE'語句更改數據庫中的數據,您確定問題描述正確嗎? –

+0

@GiorgosAltanis我只是在問同樣的事情。 –

回答

0

你可能需要這樣的事情,而不是UPDATE聲明:

SELECT * FROM Person.Address WHERE AddressLine1 = @address; 
SELECT * FROM Person.StateProvince WHERE Name = @province; 
SELECT * FROM Sales.SalesTerritory WHERE Name = @territory; 

但是,如果你還不知道什麼時候使用SELECTUPDATEINSERTDELETE,你需要有一個速成班在我看來,在瞭解存儲過程之前,我已經熟悉了數據庫和SQL。

+0

已更改,現在根據您以前的建議獲得結果。 它讓我回到另外兩張桌子上的地址表和空格。我是否需要做幾個連接才能執行並返回我需要的結果? – Logan

+0

我很抱歉,我無法訪問AdventuresWork數據庫。所以如果你可以發佈一些樣本數據,也許我們可以更好地指導你。 –