반응형
Javascript/Node로 작성된 긴 SQL 문을 구성하는 방법
SQL 데이터베이스에 외부 호출을 하는 마이크로 서비스를 작성했습니다.문자열로 형성된 이 무시무시한 쿼리 전용 js 파일이 있습니다.
let data_example = 'SELECT * \
WHERE BLAH = BLAH AND \
....';
사람이 거의 읽을 수 없고 보기에도 끔찍하다.노드에 저장 및 호출해야 하는 긴 SQL 쿼리 문자열을 저장/정리 또는 접근하는 가장 좋은 방법은 무엇입니까?
몇 가지 옵션이 있습니다.
프로그램을 시작할 때 읽은 파일에 저장할 수 있으므로 SQL을 이해하고 DB에 연결하여 자동 완성하거나 포맷, 구문 강조 표시 등을 수행할 수 있습니다.
ES2015("ES6") 템플릿 문자열("템플릿 리터럴")을 사용할 수 있습니다.
let data_example = ` SELECT * WHERE BLAH = BLAH AND ... `;
템플릿 문자열은 행을 포함할 수 있습니다(새로운 행과 후속 행의 선두에 있는 공백은 문자열의 일부입니다).
템플릿 문자열의 기능을 사용하여 (숨김) 문자열 연결을 통해 매개 변수를 입력하지 마십시오. That Would Be Wrong™. :-) 즉, 다음과 같이 하지 않습니다.
// We know NOT to do this example = "WHERE SomeColumn = '" + userInputValue + "'";
템플릿 문자열의 숨겨진 문자열 연결을 사용하여 동일한 작업을 수행하지 마십시오.
// We also know NOT to do this example = `WHERE SomeColumn = ${userInputValue};`
......템플릿 문자열을 사용하여 문자열을 연결하는 방법입니다.템플릿 문자열을 자주 사용하는 경우 실수로 SQL Injection 벡터를 사용하기 쉽습니다.
두 옵션 모두 사용 사례가 있을 수 있습니다.
언급URL : https://stackoverflow.com/questions/37945671/how-to-organize-a-long-sql-statement-written-in-javascript-node
반응형
'programing' 카테고리의 다른 글
sql 쿼리를 선택하여 특정 사용자의 게시물, 팔로워 및 팔로워 수를 가져옵니다. (0) | 2022.10.31 |
---|---|
jQuery를 사용하여 모바일 장치를 검색하는 방법 (0) | 2022.10.31 |
jinja python 템플릿에서 쉼표로 구분된 목록을 출력하려면 어떻게 해야 합니까? (0) | 2022.10.31 |
iframe의 폭과 높이를 콘텐츠에 맞게 조정 (0) | 2022.10.31 |
JUnit 5에서는 모든 테스트 전에 코드를 실행하는 방법 (0) | 2022.10.31 |