- PR -

列名が数値を含むテーブルへのINSERTバッチの作成方法

1
投稿者投稿内容
じゃんき
会議室デビュー日: 2007/04/13
投稿数: 2
投稿日時: 2007-04-17 04:33
お世話になります。

以下のテーブルにINSERTするバッチを作成したいのですが、
"列名100の前に不正な構文が・・・"のエラーが発生し、
INSERTできません

CREATE TABLE [dbo].[○○マスタ](
[コード] [varchar](10) NOT NULL,
[100] [char](1) NOT NULL
[101] [char](1) NOT NULL
[102] [char](1) NOT NULL
)

INSERTするまえにsp_renameで列名を変更すれば
INSERT可能なのですが、この数値Columnが200列存在するので
できれば、列名を変えずにINSERTできるバッチを作成したいのですが
何かいい方法はありませんか?

INSERT INTO ○○マスタ VALUES("C000","1","0","0");
※列名を[]で囲ってINSERTしてみても結果は同じでした。

よろしくお願いします。


かめたろ
ぬし
会議室デビュー日: 2003/03/20
投稿数: 255
投稿日時: 2007-04-17 09:35
DBMSはなんでしょうか?
とりあえず、SQLServer2000と2005で試してみましたが、特に問題無しでした。
コード:
CREATE TABLE [○○マスタ]( 
    [コード] [varchar](10) NOT NULL
   ,[100] [char](1) NOT NULL
   ,[101] [char](1) NOT NULL
   ,[102] [char](1) NOT NULL 
) 
INSERT INTO [○○マスタ]([コード],[100],[101],[102]) VALUES('C000','1','0','0')
SELECT * FROM [○○マスタ]

----結果----
コード	100	101	102
C000	1	0	0


200列もあるとコーディングミスありそうだなと思いました。カンマを忘れてたり、シングルコーテーションにすべきところをダブルにしてたり、などなど。
でも、列名をリネームすれば問題は解消するんですよねぇ・・・。不思議。
1

スキルアップ/キャリアアップ(JOB@IT)