SQL Server データベースに同じ名前のオブジェクトがすでに存在する場合は、次の手順を実行する必要があります。 オブジェクトの種類 (テーブル、ビュー、ストアド プロシージャ) を確認します。 IF NOT EXISTS を使用すると、オブジェクトが空の場合に作成をスキップできます。オブジェクトにデータがある場合は、別の名前を使用するか、構造を変更してください。既存のオブジェクトを削除するには、DROP を使用します (注意してください。バックアップを推奨します)。スキーマの変更をチェックして、削除または名前変更されたオブジェクトへの参照がないことを確認します。
同じ名前のオブジェクトが SQL Server データベースにすでに存在します。解決策
SQL Server データベースに新しいオブジェクトを作成するときSQL Server データベースに同じ名前のオブジェクトがすでに存在する場合、エラーが発生します。この問題を解決する手順は次のとおりです:
1. すでに存在するオブジェクト タイプを確認します
2. create ステートメントを変更します
IF NOT を使用できます。 EXISTS
ステートメントを使用して作成操作をスキップします。 3. DROP ステートメントを使用して既存のオブジェクトを削除します
DROP
既存のオブジェクトを削除するステートメント。 4. データベース スキーマの変更を確認する
例:
Products
という名前の新しいテーブルを作成したいが、そのテーブルがすでにデータベース:
<code class="sql">IF NOT EXISTS (SELECT * FROM sys.tables WHERE name = 'Products') BEGIN CREATE TABLE Products ( ProductID int IDENTITY(1,1) PRIMARY KEY, ProductName varchar(50) NOT NULL ) END</code>
sp_GetProducts
という名前の新しいストアド プロシージャを作成したいが、そのストアド プロシージャがすでにデータベースに存在する場合:
<code class="sql">DROP PROCEDURE sp_GetProducts GO CREATE PROCEDURE sp_GetProducts AS -- 存储过程代码</code>
以上が指定されたオブジェクトが sqlserver データベースにすでに存在するという問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。