2013-05-08 2 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를 사용하지 않으므로 사용자가 필요로하는 것이 무엇인지 알지 못합니다. –

답변

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