[解決済み] 制約条件付きでカラムを削除するには?
2022-04-24 01:54:24
質問
SQL Server 2008でDefault制約を持つカラムを削除する方法は?
私のクエリは
alter table tbloffers
drop column checkin
以下のようなエラーが発生します。
<ブロッククオート1 つ以上のオブジェクトがこの列にアクセスしているため、ALTER TABLE DROP COLUMN のチェックインに失敗しました。
制約付きの列を削除するための私のクエリを修正できる人はいますか?
どのように解決するのですか?
まず、問題のある
DEFAULT constraint
その後、カラムを削除することができます。
alter table tbloffers drop constraint [ConstraintName]
go
alter table tbloffers drop column checkin
しかし、他の理由でエラーが発生することもあります。例えば、ユーザー定義の関数やビューを
SCHEMABINDING
オプションが設定されています。
UPDです。 制約スクリプトの完全自動削除。
DECLARE @sql NVARCHAR(MAX)
WHILE 1=1
BEGIN
SELECT TOP 1 @sql = N'alter table tbloffers drop constraint ['+dc.NAME+N']'
from sys.default_constraints dc
JOIN sys.columns c
ON c.default_object_id = dc.object_id
WHERE
dc.parent_object_id = OBJECT_ID('tbloffers')
AND c.name = N'checkin'
IF @@ROWCOUNT = 0 BREAK
EXEC (@sql)
END
関連
-
[解決済み] SQL ServerでSELECTからUPDATEする方法とは?
-
[解決済み] SQL Server テーブルにカラムが存在するかどうかを確認する方法は?
-
[解決済み] 最初の行への結合方法
-
[解決済み] SQL Serverでレコードを削除した後、IDシードをリセットする。
-
[解決済み] SQL Server 2008を使用してIDENTITY_INSERTをオン/オフする方法は?
-
[解決済み] SQL Serverで、1つのALTER TABLEステートメントで複数のカラムをDROPする方法は?
-
[解決済み】SQL Serverで既存のテーブルにデフォルト値を持つカラムを追加する
-
[解決済み】SQL Serverで外部キーを削除するにはどうすればよいですか?
-
[解決済み】列の変更、デフォルト制約の追加
-
[解決済み】SQLデフォルト制約の名前を知らずに削除する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] プロシージャは 'ntext/nchar/nvarchar' 型のパラメータ '@statement' を想定しています。
-
[解決済み] 特別なプリンシパルdbo.を使用することはできません。エラー 15405
-
[解決済み] sp_columnsが結果を返さないのはなぜですか?
-
[解決済み] UPDATEエラーです。"REPLACEの引数1の引数データ型textは無効です"
-
[解決済み] SQL ServerでRegExを使用する
-
[解決済み] SQL ServerでCreateステートメントを使用してtempテーブルを作成する方法は?
-
[解決済み] SQL Server : varchar を INT に変換する。
-
[解決済み] SQLサーバーを使用して文字列を切り詰める方法
-
[解決済み] SQL Server のストアドプロシージャを SQL Developer で実行するには?
-
[解決済み】SQLデフォルト制約の名前を知らずに削除する方法は?