복붙노트

[SQL] 어떻게 읽을 더 쉽게 잘 포맷 코드를 읽을 수있는 블록으로 SQL 문자열을 포맷하기

SQL

어떻게 읽을 더 쉽게 잘 포맷 코드를 읽을 수있는 블록으로 SQL 문자열을 포맷하기

나는 종종 내가 다음 내 코드에서 사용하는 문장의 기초를 생성하기 위해 MS 액세스에서 제공하는 것과 같은 쿼리 빌더 도구를 사용하여 동적 SQL 문을 기반으로 코드를 작성하고합니다.

그러나,이 SQL 문이 잘 포맷하면 코드를 읽기 훨씬 쉽습니다. 긴 포맷되지 않은 SQL 문이 본질적으로 무엇을 타고 멋진 텍스트 문자열이나 쉽게 읽을 수 코드의 좋은 블록에 그것을 설정하는 최선의 방법에 대해 할 수있는 모든 사용자의 서비스 조언.

해결법

  1. ==============================

    1.내가 과거에이 기술을 사용하고,이이 일을 가장 좋은 방법입니까?

    내가 과거에이 기술을 사용하고,이이 일을 가장 좋은 방법입니까?

    그것의 열쇠입니다 :

    훨씬 쉽게 그래서 읽기 만든다 다음 "A"절차를 사용하여 A..

    당신이 (MS Access에서 같은) 쿼리 빌더를 사용하여 SQL 문자열을 빌드하는 경우 B., 내장 SQL을하는 유틸리티를 구성하는 것이 좋다 아래 다시 포맷 그것 때문에 그 결과 SQL의 외모 거의 정확히 같은 것을. (나는 그러나 다른 사람이 있습니다 www.sqlinform.com 사용하거나 수동으로 작업을 수행 할 수 있습니다)

    C.는 SQL 문자열이 VBA에 내장 될 때, 각 라인 beofre vbCrLf을 추가하여 결과 문자열은 라인 브레이크를 가지고 잘 줄 것 같은 쉽게 읽을 직접 실행 창에 출력 할 수 있습니다. (그것은 로켓 과학이 아니다)

    Public Sub aa(ByRef a As String, ByVal b As String)
        ' This is deliberately not a function, although it behaves a bit like one
        a = a & vbCrLf & b
    
    End Sub
    
    
    ' The function is called in code like this:
    
    Dim a as string 
    
    a = ""
    aa a, "    SELECT CUR.txtLevel      AS [Current]  "
    aa a, "         , NLPMi.strFullName AS [Full Name]  "
    aa a, "         , NLPMi.DOB         AS [Birthday]  "
    aa a, "         , NLPMi.Surname     AS [Surname Name]  "
    aa a, "         , TOOLS.txtWCMTool "
    
    aa a, "      FROM ( ( ( tblPeopleWCMSKILLSByYear AS SKILLS"
    aa a, "                 LEFT JOIN tblSkillLevels AS CUR  "
    aa a, "                        ON SKILLS.bytCurrentID = CUR.atnSkillLevelID
    aa a, "               ) "
    aa a, "              INNER JOIN [qrylstNames-LPMi] AS NLPMi  "
    aa a, "                      ON SKILLS.intPeopleID = NLPMi.atnPeopleRecID
    aa a, "             )"
    aa a, "            INNER JOIN tblWCMTools AS TOOLS "
    aa a, "                    ON SKILLS.intWCMSkillID = TOOLS.atnWCMToolID"
    aa a, "           ) "
    
    aa a, "     WHERE ( ( (SKILLS.bytYearID) = YEAR(DATE())-2012 )  "
    aa a, "           AND CUR.txtLevel   >= " & MyVariable1 & "  "
    aa a, "           AND TOOLS.txtWCMTool = '" & MyVariable2 & "'"
    aa a, "           )  "
    
    aa a, "  ORDER BY NLPMi.strFullName"
    aa a, "        ", " & MyVariable3 & ""
    
    aa a, "  ;"
    

    그 참고 :

    하비

  2. from https://stackoverflow.com/questions/31684546/how-to-format-a-sql-string-into-a-readable-block-of-code-that-is-well-formatted by cc-by-sa and MIT license