
ATBLからBTBLへのINSERT時発番を行いたい
<環境>
SQLSERVER 2008
<ATBL>
CDvarchar(3)KEY
NOintKEY
NAMEvarchar(10)
<BTBL>
CDvarchar(3)KEY
NOintKEY
NAMEvarchar(10)
<BTBLのデータ>
CD NO NAME
0011太郎
0013次郎
0015三郎
BTBLをATBLへINSERTしたいのですが、この時、NOを1から再付番したいのです。
INSERTクエリで一発で更新できますでしょうか?
ご教授お願いします。
No.2ベストアンサー
- 回答日時:
row_numberで1からの連番ふれるよ
INSERT INTO ATBL(CD, NO, NAME)
SELECT CD, row_number() OVER(ORDER BY CD) AS NO, NAME FROM BTBL
参考URL:http://msdn.microsoft.com/ja-jp/library/ms186734 …
No.1
- 回答日時:
NOのデータ型のカラムにIDENTITY属性を付ければ自動採番されます。
(詳細は参考URLを参照)
ただし、今後に使用で自由に採番できなくなって困るのであれば、
一旦ワーク用のテーブルを作成し
<WK_TBL>
CD varchar(3) not null,
NO int IDENTITY (1, 1) NOT NULL ,
NAME varchar(10)
これに一度INSERTした後、BTBLにコピーしてやるといいでしょう。
INSERT INTO WK_TBL(CD, NAME ) SELECT CD,NAME FROM ATBL;
INSERT INTO BTBL(CD, NO,NAME ) SELECT CD,NO,NAME FROM WK_TBL;
こんな感じで行けるはず
参考URL:http://msdn.microsoft.com/ja-jp/library/ms186775 …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
INSERT時にデータ登録とmaxの発番がしたい
SQL Server
-
SQL、2つのテーブルで条件一致したものだけdeleteする方法は?
Oracle
-
SELECT 文 GROUP での1件目を取得
SQL Server
-
-
4
あるカラムのMAX値+1をINSERTしたい。
その他(データベース)
-
5
select insertで複数テーブルから値を取得したい
Oracle
-
6
datetime型でNULL値を入れたい。
SQL Server
-
7
Oracle 2つのDate型の値の差を「分」で取得したい
その他(データベース)
-
8
SQLServerでNULLを挿入したいです
SQL Server
-
9
ManagementStudioからのデータ削除
SQL Server
-
10
【SQL】他テーブルに含まれる値に合致する行を抽出
その他(データベース)
-
11
特定条件での連番の振り方を教えて下さい
Oracle
-
12
【DB】同じトランザクション内でupdateとselectをしたときの結果値
その他(データベース)
-
13
エクセルでCSVを編集するとき、空白(NULL?)はどう入れますか
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
カラムの存在チェック
-
データを削除しても表領域の使...
-
CLOB型へのINSERT
-
ACCESS 複数テーブル・複数フィ...
-
Viewにインデックスは張れ...
-
datapumpの実行方法について
-
列が255以上のCSVファイルをAcc...
-
postgreSQLのint型は桁数指定が...
-
異なるスキーマからデータを抽...
-
スキーマの削除、スキーマオブ...
-
Data Pump で大量データインポ...
-
同じSELECT文同士でのデ...
-
OracleTextの索引再構築について
-
シノニムってエイリアスのエイ...
-
ActiveX DLLでのオラクルのトラ...
-
他の処理でselectさせないよう...
-
テーブルのSTORAGE句のサイズ設定
-
RDBのテーブル種類の違い
-
SQLでスキーマ名(所有者名)の...
-
Oracle複数の表をもとにmerge文...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
カラムの存在チェック
-
select count(*) の性能
-
MySQLでのテーブル作成
-
INSERT時に発番を行いたい
-
GROUP BY で列名は指定できない...
-
カラム情報とはなんですか?
-
データを削除しても表領域の使...
-
Viewにインデックスは張れ...
-
ORA-00959: 表領域'****'は...
-
CLOB型へのINSERT
-
異なるスキーマからデータを抽...
-
Data Pump で大量データインポ...
-
datapumpの実行方法について
-
DELETE文でFROM句を省略した場合
-
ACCESS 複数テーブル・複数フィ...
-
postgreSQLのint型は桁数指定が...
-
INDEXの無効化
-
Access レコードを追加できませ...
-
SQLでスキーマ名(所有者名)の...
-
SQL*Loaderで、データを加工し...
おすすめ情報