DBEXECUTEFIXED

DBEXECUTEFIXED는 매개 변수를 지원하는 DBEXECUTE의 대안입니다. DBEXECUTE와 달리 클라우드 및 온프레미스 환경, 사용자 지정 또는 확장 응용 프로그램에서 모두 사용할 수 있습니다.

SQL 문은 고정 텍스트로 취급되므로 변수를 직접 참조할 수 없습니다.

문이 보호되지 않은 셀에 있는 경우 반환되는 값을 업데이트할 수 있지만, DBEXECUTE와 달리 새 행을 추가할 수는 없습니다.

참고

매개 변수 이름은 대/소문자를 구분합니다.

구문

DBEXECUTE DBEXECUTEED 수식의 매개 변수는 다음과 같습니다.

  1. 별칭: d/EPM Administration에 정의된 관계형 데이터 연결을 지정합니다.
  2. 문 선택: 데이터베이스에서 데이터를 검색하는 데 사용됩니다. 표준 SQL SELECT 명령입니다. 데이터베이스를 업데이트하려면 쿼리에 기본 키가 포함되어야 합니다. SQL SELECT는 행에서 여러 값을 반환할 수 있지만 DBEXECUTEFIXED는 첫 번째 값을 제외한 모든 값을 무시합니다. 따라서 기본 키가 아닌 값을 반환하고 쓰기 저장하려면 기본 키가 명령문에서 요청한 첫 번째 값이 아닌지 확인해야 합니다. 쓰기 저장의 경우 쿼리가 포함된 셀이 보호되지 않아야 합니다.
  3. 매개 변수 값: 단일 값 및 다중 값 매개 변수를 사용할 수 있습니다. SQL문에서는 @[parameter_name]을 사용하여 단일 값 매개 변수를 참조합니다. @@[parameter_name]을 사용하여 다중 값 매개 변수를 참조합니다. 다중 값 매개 변수의 값은 파이프(|) 문자로 구분해야 합니다.
=DBEXECUTEFIXED("alias", "select_statement", {, "parameter"})

매개 변수 이름은 p1, p2 등으로 자동 할당됩니다.

예제

이 예에서 수식은 rv_configs 보고서 변수에 현재 있는 값이 ID인 항목 이름을 반환합니다. items.ID는 기본 키입니다.

=DBEXECUTEFIXED("configdb", "SELECT items.name,items.ID FROM items WHERE Id=@p1",ReportVariables.rv_configs.Text)

items.id는 기본 키입니다. 수식이 보호되지 않는 셀에 있고 값을 반환하는 경우 값을 업데이트할 수 있습니다. 이 예제에서는 항목 이름입니다.

참고

전체 SQL 문은 텍스트로 처리되기 때문에 다음 DBEXECUTE 수식에서 필요한 것처럼 문자열 값을 & 문자로 연결할 필요가 없습니다.

=DBEXECUTE("configdb", "SELECT items.name,items.ID FROM items WHERE Id="&ReportVariables.rv_configs.Text)
=DBEXECUTE("configdb", "SELECT items.ID,items.name FROM items WHERE name='"&ReportVariables.rv_name.Text&"'")

첫 번째 예제에서는 참조된 값이 숫자이고 두 번째 예에서는 텍스트이기 때문에 연결 구문이 다릅니다.