2013-05-08 156 views
-1

我想在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) 

在執行時,它說

子查詢在此方面不容許。只允許使用標量表達式 。

我在哪裏錯了?

+0

不允許你使用,你試圖使用子查詢 - 如錯誤信息說。看起來好像你在努力模擬一個自動遞增的列;通常有其他的選擇,但是DBMS的細節有所不同,我不使用SQL Server,所以我不知道你需要在那裏做什麼。 – 2013-05-08 06:18:48

回答

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