-4

SQL 事务不工作:

BEGIN TRANSACTION AddEmployees
   INSERT INTO Employees
      VALUES(N'595002', N'John Meah', N'20000212', 32.25),
      (N'928375', N'Chuck Stansil', N'20080628'),
      (N'792764', N'Orlando Perez', N'20000616', 12.95);
   COMMIT TRANSACTION AddEmployees;
GO
4

3 回答 3

3

您在该行缺少参数,请使用此行:

(N'928375', N'Chuck Stansil', N'20080628', null),

这与事务无关,这是因为表值构造函数中每一行的列数必须相同。

如果您的表不允许为空,则传递 DEFAULT 的相关参数。

于 2012-08-21T14:45:57.223 回答
2

部分问题是您使用了错误的语法。在 SQL-Server 2005 中,您不能在语句,之间使用逗号。values您必须指定每个INSERT INTO....VALUES...语句。然后在你的第二个INSERT你没有正确数量的参数:

BEGIN TRANSACTION AddEmployees
   INSERT INTO Employees
      VALUES(N'595002', N'John Meah', N'20000212', 32.25)

    INSERT INTO Employees
      VALUES(N'928375', N'Chuck Stansil', N'20080628', null)

    INSERT INTO Employees
      VALUES(N'792764', N'Orlando Perez', N'20000616', 12.95)
   COMMIT TRANSACTION AddEmployees;
GO
于 2012-08-21T14:47:24.993 回答
1

为第四个数据库字段设置默认值,以便语句可以执行。

于 2012-08-21T14:48:00.127 回答