問題タブ [table-rename]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
828 参照

android - 他のテーブルに外部キーがある場合、sqliteの列名を変更します

groupsという名前のテーブルがあり、その列の 1 つの名前を変更したいと考えています。これまでのところ、大丈夫でした。sqliteが列の名前変更をサポートしていないことを知っているので、次のようにしました。

しかし、テーブルtmp_groupsを削除すると、外部キーを持つテーブルmembersON DELETE CASCADEのレコードも削除されるため、次のことを行う必要がありました。

  1. メンバーと同じ列を持ち、外部キーを持たないテーブルtmp_membersを作成します。
  2. メンバーからのレコードをtmp_members に挿入します。
  3. テーブルメンバーを削除します。
  4. 最初の部分からコードを実行します (グループテーブルを使用)。
  5. 外部キーを使用してテーブル メンバーを再作成します。
  6. tmp_membersのメンバーデータに挿入します。

男、それは疲れた!単純に列の名前を変更するにはコードが多すぎます。

この制約の問題を処理する簡単な方法はありますか、それとも「sqlite の方法」ですか?

0 投票する
2 に答える
1904 参照

postgresql - アンダースコアをプレフィックスとして PostgreSQL テーブルの名前を変更する方法は?

PostgreSQL システムに依存するデータベースがあり、それを維持しているので、テーブルと全体的なスキームを変更したいと考えています。このため、古いテーブルの名前を変更して、接頭辞としてアンダースコアを付けることを考えました。しかし、これは機能していません:

クエリの結果は次のとおりです。

注意: テーブル "_my_table" は存在しません。スキップします エラー:
タイプ "_my_table" は既に存在します
********** エラー **********

エラー: タイプ "_my_table" は既に存在します SQL 状態: 42710

「_my_table」テーブルは偽名ですが、実際に「_my_table」テーブルを作成して上記の同じスクリプトを実行すると、このエラーが再現されます。

pgAdmin III を使用してデータベース テーブルにアクセスしていますが、その「名前の変更」操作を使用すると、同じエラーが発生します。テーブル変更メソッドの postgresql ドキュメントでは、この特定の問題について明示的に説明されていません: http://www.postgresql.org/docs/9.3/static/sql-altertable.html

'_' の代わりに' backup ' のようなプレフィックスを使用する必要は本当にありますか? または、名前を変更することは可能でしょうか。私の唯一の関心は、テーブル名の変更を最小限に抑えながら、テーブル内の情報を維持することです。

0 投票する
1 に答える
119 参照

sql-server - 制約付きのSQL Serverテーブルの名前変更

私がいる非常に単純な苦境。

基本的に、主キー/外部キーとカスケード制約を持つ 4 つのテーブルがあります。

元のテーブルの名前を変更する必要があるところまで来ました。過去にテーブルの名前を変更しましたsp_rename oldTableName, newTableNameが、主制約、外部制約、カスケード制約のあるテーブルは使用しませんでした。

テーブルの名前を変更しても安全ですか、sp_renameそれとも最初からテーブルを作成し、データをコピーしてから古いテーブルを削除する必要がありますか?

0 投票する
1 に答える
11518 参照

sql - Oracle テーブルの名前を変更する

ALTER TABLE RENAME ステートメントと RENAME TABLE ステートメントの違いは何ですか。

つまり、

0 投票する
4 に答える
2330 参照

sql-server - SQL Serverストアドプロシージャは、他のデータベースにテーブルが存在するかどうかを確認し、名前を変更します

2 つのデータベースがある: MAIN と IP2LOCATION

MAIN には、次のストアド プロシージャがあります。

それは正しく動作しません:

db11_new が存在しない場合は (正しく) 作成されますが、存在する場合は..

データベースには「db11_new」という名前のオブジェクトがすでに存在します。

したがって、何か問題があるようです

また、2 Renameの手順の最後に、(常に)次の回答が得られます

メッセージ 15248、レベル 11、状態 1、プロシージャ sp_rename、行 359 パラメータ @objname があいまいであるか、要求された @objtype (OBJECT) が間違っています。

問題は、sprocがip2location DBではなく別のデータベースに保存されているためです..

すべてのsprocをMAIN DBに保持したいので、解決策を提案できますか?

ありがとう