声明插入

时间:2013-05-08 06:12:50

标签: sql-server database insert

我想在SQLServer数据库的表中插入一条记录。

代码是:

INSERT INTO UserControlMaster (UsercontrolID,Usrid,ModuleID, Allow_add,Allow_edit,Allow_Delete) VALUES((select (max(UsercontrolID)+1) from UsercontrolMaster), 1, 2, 0,0,0)

执行时说

  

在此上下文中不允许子查询。只有标量表达式   是允许的。

我哪里错了?

1 个答案:

答案 0 :(得分:2)

试试这个 -

INSERT INTO dbo.UserControlMaster 
(
      UsercontrolID
    , Usrid
    , ModuleID
    , Allow_add
    , Allow_edit
    , Allow_Delete
)
SELECT 
      MAX(UsercontrolID) + 1
    , 1
    , 2
    , 0
    , 0
    , 0
FROM dbo.UsercontrolMaster