2017-11-23 3 views
0

저장 프로 시저를 통해 데이터를 삽입하려고하는데 어려움을 겪고 있습니다.유용한 변수에 데이터를 삽입하십시오.

아래 코드를 시도했지만 작동하지 않습니다.

DECLARE @AddressRecordsToPurge TABLE 
    ( 
     RowID INT NOT NULL PRIMARY KEY IDENTITY(1,1), 
     GUIDValue Nvarchar(max) NOT NULL, 
     GuidColumn Nvarchar(max) NOT NULL, 
     GuidTable Nvarchar(max) NOT NULL 
    ) 

    Insert Into @AddressRecordsToPurge values (Select AccountGUID FROM APPLICATIONCONTRACT WHERE ApplicationNumber [email protected] AND AccountGUID IS NOT NULL, 'AccountGUID', 'PREVIOUSLENDERSREF');  

내 첫 번째 값은 쿼리이고 마지막 두 값은 문자열입니다.

Insert Into @AddressRecordsToPurge (GUIDValue, GuidColumn, GuidTable) 
    Select AccountGUID, 'AccountGUID', 'PREVIOUSLENDERSREF' 
    from APPLICATIONCONTRACT 
    where ApplicationNumber = @ApplicationNumber and 
      AccountGUID IS NOT NULL;  

참고 : 나를

답변

2

나는 등이 작성합니다 도와주세요

  • 이 명시 적으로 열이 삽입되는이 나열되어 있습니다.
  • identity 열이 목록에 없으므로 기본값을 갖습니다.
  • values은 필요하지 않습니다. 단지 insert . . . select입니다.

코드에서 하위 쿼리는 항상 자체 괄호로 묶어야한다는 것을 기억해야합니다.

0

별칭 문자열 이름을 열 이름으로 사용합니다. table variable을 선언 할 때 몇 개의 열에 삽입하지 않으면 삽입 할 열 이름을 언급 할 필요가 없습니다. Identity column이 자동으로 채워집니다. 이 방법으로

DECLARE @AddressRecordsToPurge TABLE 
    ( 
     RowID INT NOT NULL PRIMARY KEY IDENTITY(1,1), 
     GUIDValue Nvarchar(max) NOT NULL, 
     GuidColumn Nvarchar(max) NOT NULL, 
     GuidTable Nvarchar(max) NOT NULL 
    ) 

    Insert Into @AddressRecordsToPurge 
     SELECT 
     AccountGUID AS GUIDValue 
    ,'AccountGUID' AS GuidColumn 
    ,'PREVIOUSLENDERSREF' AS GuidTable 
    FROM APPLICATIONCONTRACT 
    WHERE ApplicationNumber [email protected] AND AccountGUID IS NOT NULL 
0

시도 :

DECLARE @AddressRecordsToPurge TABLE 
     (
      RowID INT NOT NULL 
        PRIMARY KEY 
        IDENTITY(1, 1) , 
      GUIDValue NVARCHAR(MAX) NOT NULL , 
      GuidColumn NVARCHAR(MAX) NOT NULL , 
      GuidTable NVARCHAR(MAX) NOT NULL 
     ) 

     INSERT INTO @AddressRecordsToPurge 
       (GUIDValue , 
        GuidColumn , 
        GuidTable 
       ) 
       SELECT AccountGUID , 
         'AccountGUID' , 
         'PREVIOUSLENDERSREF' 
       FROM APPLICATIONCONTRACT AS artp 
       WHERE ApplicationNumber = @ApplicationNumber 
         AND AccountGUID IS NOT NULL 
관련 문제