GlideQueryCondition - 범위 지정됨

  • 릴리스 버전: Washingtondc
  • 업데이트 날짜 2024년 02월 01일
  • 읽기4분
  • 범위가 지정된 GlideQueryCondition API는 현재 조건에 추가할 수 있는 추가 OR 또는 OR 조건을 제공하므로 복잡한 쿼리를 작성할 수 있습니다.

    다음과 같은 복잡한 쿼리를 작성합니다.
    category='hardware' OR category='software' AND priority='2' AND priority='1'

    addCondition()의 경우 암시적 AND가 추가됩니다.

    이 클래스에는 생성자가 없습니다. GlideQueryCondition 객체는 다음 메서드에 의해 반환됩니다.
    • addActiveQuery()
    • addInactiveQuery()
    • addJoinQuery()
    • addNotNullQuery()
    • addNullQuery()
    • addQuery()를 호출합니다.

    복잡한 AND 및 OR 쿼리 집합이 있는 경우 모든 조건을 포함하는 인코딩된 단일 쿼리는 쿼리 생성을 단순화합니다. 쿼리 만들기를 간소화하려면 목록 보기에서 쿼리를 만들고, 쿼리를 마우스 오른쪽 단추로 클릭하고, 쿼리 복사를 선택합니다. 결과 집합을 반환하기 위해 인코딩된 단일 쿼리 문자열을 만듭니다. addEncodedQuery() 호출에서 이 문자열을 매개 변수로 사용합니다.

    하위 프로덕션 인스턴스를 프로덕션 인스턴스에 배포하기 전에 항상 쿼리를 테스트하십시오. 잘못된 필드 이름을 포함하는 경우와 같이 인코딩된 쿼리가 잘못 생성되면 잘못된 쿼리가 생성됩니다. 잘못된 쿼리가 실행되면 쿼리 조건의 잘못된 부분이 삭제되고 결과는 쿼리의 유효한 부분을 기반으로 하므로 테이블의 모든 기록이 반환될 수 있습니다. 잘못된 쿼리 결과에 insert(), update(), deleteRecord() 또는 deleteMultiple() 메서드를 사용하면 데이터가 손실될 수 있습니다.

    시스템 속성을 true로 설정하여 인코딩된 쿼리가 잘못된 쿼리가 있는 쿼리가 glide.invalid_query.returns_no_rows 기록을 반환하지 않도록 할 수 있습니다.

    범위가 지정된 GlideQueryCondition - addCondition(문자열 이름, 문자열 연산자, 객체 값)

    현재 조건에 AND 조건을 추가합니다.

    표 1. 매개변수
    이름 유형 설명
    name 문자열 필드의 이름입니다.
    운영 체제 문자열 (선택 사항) 쿼리의 연산자입니다. 연산자를 지정하지 않으면 조건에서는 등호 연산자를 사용합니다.
    객체 쿼리할 값입니다.
    표 2. 반환
    유형 설명
    글라이드쿼리조건 GlideRecord에 추가된 GlideQueryConditon에 대한 참조입니다.
    var now_GR = new GlideRecord('incident');
    var qc = now_GR.addQuery('category', 'Hardware');
    qc.addCondition('category', 'Network');
    now_GR.addQuery('number','INC0000003');
    now_GR.next();
    now_GR.number;
    gs.info(now_GR.getEncodedQuery());

    범위가 지정된 GlideQueryCondition - addOrCondition(문자열 이름, 문자열 연산자, 객체 값)

    2개 또는 3개의 매개변수 OR 조건을 기존 GlideQueryCondition에 추가합니다.

    addOrCondition()은 addQuery() 메서드와 함께 작동하여 지정된 쿼리 매개 변수를 addQuery()를 사용하여 이전에 생성된 쿼리로 또는 지정합니다.

    addOrCondition() 은 일반적으로 세 개의 매개 변수와 함께 호출됩니다. 테이블 필드, 연산자 및 비교 값입니다. 테이블 필드와 비교 값(예: qc.addOrCondition('category', 'software');)의 두 매개 변수로만 호출할 수 있습니다. 이 경우 연산자는 "같음"으로 간주됩니다.

    표 3. 매개변수
    이름 유형 설명
    name 문자열 필드 이름
    운영 체제 문자열 (선택 사항) 쿼리 연산자입니다. 사용 가능한 값은 value 매개 변수의 데이터 형식에 따라 다릅니다.
    숫자:
    • =
    • !=
    • >
    • >=
    • <
    • <=
    문자열(대문자여야 함):
    • =
    • !=
    • IN
    • STARTSWITH
    • Endswith
    • 포함
    • 포함하지 않음
    객체 쿼리할 값입니다(대/소문자 구분 안 함).
    주:
    배열에 전달된 모든 항목에는 최소 두 개의 요소가 포함되어야 합니다. 단일 요소 배열은 지원되지 않습니다.
    표 4. 반환
    유형 설명
    글라이드쿼리조건 GlideRecord에 추가된 GlideQueryConditon에 대한 참조입니다.
    var now_GR = new GlideRecord('incident');
    var qc = now_GR.addQuery('category', 'Hardware');
    qc.addOrCondition('category', 'Network');
    now_GR.addQuery('number','INC0000003');
    now_GR.next();
    now_GR.number;
    gs.info(now_GR.getEncodedQuery());
    

    복잡한 쿼리를 만들기 위해 AND/OR 문을 그룹화할 수 있습니다(예: &quot;(상태가 3보다 작거나 5보다 큼) AND(우선순위가 1이거나 우선순위가 5)인 모든 인시던트)

    var myObj = new GlideRecord('incident');
    var q1 = myObj.addQuery('state', '<', 3);
    q1.addOrCondition('state', '>', 5);
    var q2 = myObj.addQuery('priority', 1);
    q2.addOrCondition('priority', 5);
    myObj.query();