구섭구섭
31
2021-09-07 15:55:21
2
185

MSSQL INSERT 오류 질문입니다.


안녕하세요.

우선, INSERT 문을 변수에 담아 EXEC(@변수)로 쿼리를 실행합니다.


아래 쿼리를 실행하면 정상동작 합니다.

SET @SQL = '

  INSERT INTO DiameterMonitoring.dbo.DiameterMonitoringTest' + @Equipcode + '

  (

    PD_Date, 

    Equipcode 

    기타 등등

  )

  VALUES

  (

    ' + @PD_Date + ',

    ' + '123' + ',

   기타 등등

  ) 

'

EXEC(@SQL)


다만, 빨간색을 칠한 부분을 아래 쿼리처럼 문자가 하나라도 섞이면 실행되지 않습니다.

오류 내용은 열이름 'A01'이 유효하지 않습니다. 라고 출력되네요.


SET @SQL = '

  INSERT INTO DiameterMonitoring.dbo.DiameterMonitoringTest' + @Equipcode + '

  (

    PD_Date, 

    Equipcode 

    기타 등등

  )

  VALUES

  (

    ' + @PD_Date + ',

    ' + 'A01' + ',

   기타 등등

  ) 

'

EXEC(@SQL)



 원인이 무엇일까요..?


0
  • 답변 2

  • plwtcs
    911
    2021-09-07 15:58:12 작성 2021-09-07 16:03:00 수정됨

    작은따옴표 개수

    EXEC 전에 SELECT @SQL을 조회해서 먼저 쿼리가 제대로 실행될 거 같은지 확인해보세요

    작은 따옴표 안에 작은 따옴표를 표현하려면 어떻게 해야하는지

    123은 되는데 왜 A01은 안되는지


    제가 강조한 부분 확인해보시면 다 해결 됩니다..^^

  • 구섭구섭
    31
    2021-09-07 16:15:34

    답변감사합니다.

    작은 따옴표 'A01' 안에

    ''A01'' 이렇게 한쌍이 더 들어가야 겠군요.. 문자열로 인식할 수 있게끔..

  • 로그인을 하시면 답변을 등록할 수 있습니다.