2017-12-16 6 views
2

現在、アップデート手順を進めています。私は他のスタックポストとYoutubeをチェックしましたが、コードを実行できないようです。ここで私が発見し、それを動作させることを試みてきた一つのコードです:アップデート手順の作成中にエラーが発生しました

UPDATE db_owner 
SET Street = ISNULL(@Street, street), 
WHERE Street = @Street 

私はこれらのエラーを取得:

無効なオブジェクト名のdb_owner
無効な列名の通り
は「スカラー変数を宣言する必要があります@Street」

私のテーブルは以下のとおりです。

dbo.Appointment 
dbo.Owner 
dbo.Pet 
dbo.Vet 

私の挿入手順は以下のとおりです。

dbo.Spinsert_dbo_appointment 
dbo.Spinsert_dbo_owner 
dbo.Spinsert_dbo_vet 
dbo.Spinsert_dbo_pet 
+0

と呼ばれるSQL Serverです、あなたは何のテーブル 'db_owner'を持っていないと、あなたは' db_owner'と呼ばれるテーブルを更新しようとしています。エラーメッセージはかなり簡単です。また、正しいテーブル名を( 'dbo.Owner'?)に入れても、更新ステートメントは実際には何もしません。ストリートの値が既に@ストリートになっている@ストリートにストリートを設定しています。 –

+0

それは私が考えたものです。私がdbo.ownerをタイプしたとき、それは無効なオブジェクト名を言った。また、フィードバックに感謝します。私は昨日T-SQLを学びましたので、私は多くの間違いをする傾向があります。実際に通りの住所を変更するようなことをするためにできることはありますか? –

答えて

3

私は使用、このような名前がない、とあなたは本当にテーブルは、それがデータベースの役割だdb_ownerと呼ばれていないと言うでしょう:

UPDATE dbo.owner 
SET Street=ISNULL(@Street, street) 
WHERE [email protected] 

エラーMust declare the scalar variable "@Street"は、変数を宣言していないためです。

DECLARE @Street DataType; -- declaration of the variable @Street 
SET @Street = Value; -- Set a value to the variable @Street 
UPDATE dbo.owner 
    SET Street=ISNULL(@Street, street) 
    WHERE [email protected] 
0

dbo.ownerの代わりにdb_ownerをテーブル名として使用したため、このエラーが発生しています。

また、変数@streetを宣言してから使用してください。注

DECLARE @Street VARCHAR(50) 
UPDATE dbo.owner 
SET Street=ISNULL(@Street, street), 
WHERE [email protected] 

このよう

:システムの役割がありますが、そうdb_ownerの

関連する問題