试图向sql数据库添加10个值

时间:2012-07-24 17:53:29

标签: sql sql-server-2008

这在sql management studio下很容易完成。我点击编辑前200行。并输入第一组值:

除了Index和rollnumber

之外,一切都应该是相同的
Index class rollnumber age 
1      A      1         10
2      A      2         10
3      A      3         10
...
10     A      10        10

我遇到的问题是: 我复制了第一行并粘贴在第二行,当我尝试在sql编辑器中更改它时,我无法。 谁能告诉我通过sql编辑器执行此操作的最佳方法是什么?

或者在这种情况下是否有更简单的方法来执行SQL插入?

5 个答案:

答案 0 :(得分: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);

答案 1 :(得分:0)

如果您将其作为主键,请尝试复制它而不使用“索引”字段。

答案 2 :(得分:0)

我假设索引是IDENTITY列。数据库将分配值

可能存在差距:这是IDENTITY colums的性质

在这种情况下,学习使用原始SQL INSERT将有所帮助:您可以更好地控制自己的操作。 SET IDENTITY_INSERT将允许您覆盖标识属性

答案 3 :(得分: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)

答案 4 :(得分: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必须等于你的索引。