-1

これは、SQL 管理スタジオの下で十分に簡単な作業です。上位 200 行の編集をクリックしました。そして、最初の値のセットを次のように入力しました。

インデックスとロール番号以外はすべて同じでなければなりません

Index class rollnumber age 
1      A      1         10
2      A      2         10
3      A      3         10
...
10     A      10        10

私が抱えている問題は次のとおりです。最初の行をコピーして2行目に貼り付けましたが、SQLエディターで変更しようとするとできません。SQLエディターを使用してこれを行う最良の方法を教えてください。

または、この場合に SQL 挿入を行う簡単な方法がある場合は?

4

5 に答える 5

2

SQL クエリを作成し、エディターで実行できます。

insert into table values( 1, A, 1, 10);
insert into table values( 2, A, 2, 10);
insert into table values( 3, A, 3, 10);
insert into table values( 4, A, 4, 10);
insert into table values( 5, A, 5, 10);
insert into table values( 6, A, 6, 10);
insert into table values( 7, A, 7, 10);
insert into table values( 8, A, 8, 10);
insert into table values( 9, A, 9, 10);
insert into table values( 10, A, 10, 10);
于 2012-07-24T17:59:30.570 に答える
0

主キーとして使用している場合は、[インデックス]フィールドなしでコピーしてみてください。

于 2012-07-24T17:55:58.537 に答える
0

インデックス列がIdentityの主キーである場合、以下を使用してN-1行を作成できます。

DECLARE @Counter int;
SET @Counter = 0;

WHILE (@Counter < 10)
BEGIN
INSERT INTO table ([class],[rollnumber],[age]) VALUES ('A',@@IDENTITY + 1,10)
SET @Counter = @Counter + 1
END

これは、rollnumberがインデックスと等しくなければならないことも前提としています。

于 2012-07-24T18:12:01.443 に答える
0

インデックスは IDENTITY 列であると想定しています。データベースは値を割り当てます

ギャップがあるかもしれません: これは IDENTITY 列の性質です

この場合、未加工の SQL INSERT の使い方を学ぶことが役に立ちます。自分が行うことをはるかに細かく制御できます。SET IDENTITY_INSERTを使用すると、ID プロパティをオーバーライドできます

于 2012-07-24T17:58:13.847 に答える
0

これは、簡単な SQL ステートメントとして実行できます (最初の列が IDENTITY 列であると仮定します)。

INSERT INTO dbo.YourTableName(class,rollnumber,age)
VALUES ('A', 10, 10),
       ('A', 11, 10),
       ('A', 12, 10)

この形式は、個々の値を簡単にコピーして貼り付けることができ、すべての値を考慮に入れることができます。その後、一度実行してそれらを配置できます (または、保存して他の環境で再実行できます)。

インデックス列が IDENTITY 列ではなく、エラーが発生している単なる UNIQUE 列である場合は、それを列として指定し、次のように追加の一意の値を指定できます。

INSERT INTO dbo.YourTableName(index, class,rollnumber,age)
VALUES (10, 'A', 10, 10),
       (11, 'A', 11, 10),
       (12, 'A', 12, 10)
于 2012-07-24T18:00:30.867 に答える