---
sourceDocument: Xanadu API 참조
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ko-KR/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - ko-KR

ft:publication_title :

    - Xanadu API 참조

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# GlideRecord - 범위 지정됨

# GlideRecord - 범위 지정됨 {#ariaid-title1}

* 릴리스 버전: Xanadu
* 
* 업데이트 날짜 2024년 08월 01일
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 소요 시간: 73분

범위가 지정된 GlideRecord API는 데이터베이스 운영에 사용됩니다.
GlideRecord API는 서버 측 코드에서 데이터베이스와 상호 작용하는 기본 방법입니다. GlideRecord는 단일 테이블의 기록을 포함하는 객체입니다. API를 사용하여 GlideRecord 객체를 인스턴스화하고 쿼리 매개변수, 필터, 제한 및 순서를 추가합니다.

쿼리 작성 및 실행에 대한 자세한 내용은 [GlideRecord](https://developer.servicenow.com/dev.do#!/learn/courses/utah/app_store_learnv2_scripting_utah_scripting_in_servicenow/app_store_learnv2_scripting_utah_server_side_scripting/app_store_learnv2_scripting_utah_gliderecord) 문서를 참조하십시오.

GlideRecord와 동일한 기능을 수행하고 ACL을 적용하는 클래스에 대한 자세한 내용은 [GlideRecordSecure 사용을](https://www.servicenow.com/docs/access?context=p_GlideServerAPIs&version=xanadu&pubname=xanadu-application-development&ft:locale=en-US) 참조하십시오.

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

시스템 속성을 true로 설정하면 glide.invalid_query.returns_no_rows 인코딩된 쿼리가 잘못된 쿼리가 있는 쿼리가 기록을 반환하지 않도록 할 수 있습니다. 경우에 따라 쿼리가 true로 설정된 경우에도 glide.invalid_query.returns_no_rows API 결과에 레코드를 반환할 수 있습니다. 이 문제는 잘못된 쿼리 용어가 WHERE 연산자와 함께 사용되는 쿼리에서 발생합니다. 이러한 쿼리에서 WHERE 연산자는 잘못된 용어를 무시하지만 쿼리 문의 나머지 부분을 해석하고 반환합니다. 이 시스템 속성 및 해당 기능에 대한 자세한 내용은 을 참조하십시오 [Available system properties](https://www.servicenow.com/docs/access?context=r_AvailableSystemProperties&version=xanadu&pubname=xanadu-platform-administration&ft:locale=en-US).

## 기록에서 값 검색 {#c_GlideRecordScopedAPI__id_tvw_lbc_npb}

대부분의 경우 기록에서 값을 얻기 위해 닷워킹을 사용하지 마십시오. 닷워킹은 필드 값 대신 전체 객체를 검색합니다. 객체를 검색하면 더 많은 저장 공간이 사용되며 배열 또는 에서 서비스 포털사용할 때 바람직하지 않은 결과가 발생할 수 있습니다.{#c_GlideRecordScopedAPI__gr-api-dot-walk-recommendations-p1}

전체 객체를 검색하는 대신 다음 방법 중 하나를 사용하여 필드 값을 복사할 수 있습니다.{#c_GlideRecordScopedAPI__gr-api-dot-walk-recommendations-p2}

* [getValue()를 호출합니다.](https://servicenow-prod.fluidtopics.net/2W~ifl1LvyXJ6zdY~n~R1Q#r_ScopedGlideRecordGetValue_String "필드에 있는 기본 요소의 문자열 값을 조회합니다.")
* [getDisplayValue()를 호출합니다.](https://servicenow-prod.fluidtopics.net/2W~ifl1LvyXJ6zdY~n~R1Q#r_ScopedGlideRecordGetDisplayValue "현재 기록의 표시 값을 검색합니다.")

{#c_GlideRecordScopedAPI__gr-api-dot-walk-recommendation-lnx}  
GlideElement 객체를 통해 닷워킹을 진행해야 하는 경우 toString() 메서드를 사용하여 값을 검색합니다. 예를 들어, 다른 참조 필드를 설정하기 위해 현재 호출자의 관리자 sys_id 필요할 수 있습니다. 다음 예제에서는 전체 개체 대신 문자열 값을 가져오는 방법을 보여 줍니다.

    var mgr = current.caller_id.manager.toString();

참고 항목:

* [GlideAggregate](https://servicenow-prod.fluidtopics.net/yFmUVNHmJasWThEBKTdGiw#c_GlideAggregateScopedAPI "GlideAggregate API를 사용하면 데이터베이스 집계 쿼리를 만들 수 있습니다.")
* [GlideElement (영문)](https://servicenow-prod.fluidtopics.net/9pq9s8okV8LgLe~0OkyL9Q#c_GlideElementScopedAPI "범위가 지정된 GlideElement API는 필드와 해당 값을 처리하기 위한 여러 가지 편리한 스크립트 메서드를 제공합니다. 범위가 지정된 GlideElement 메서드는 현재 Glide 기록의 필드에 사용할 수 있습니다.")
* [GlideQuery (영문)](https://servicenow-prod.fluidtopics.net/tkBMAt54EDcNiTXYcFWJqQ#GlideQueryGlobalAPI "GlideQuery 스크립트 포함은 서버 측 스크립트의 기록 데이터에 대한 CRUD 작업을 수행하기 위한 GlideRecord API의 대안입니다.")
{#c_GlideRecordScopedAPI__ul_mky_nkd_npb}

## 범위 지정된 GlideRecord - addActiveQuery() {#ariaid-title2}

활성 기록을 반환하는 필터를 추가합니다.
{#SGR-addActiveQuery__table_n2r_tdq_fz__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 없음 |   |   |
[표 1. 매개변수]

{#SGR-addActiveQuery__table_n2r_tdq_fz} {#SGR-addActiveQuery__table_o2r_tdq_fz__entry__2}

| 유형 | 설명 |
|-|-|
| GlideQueryCondition | 활성 기록을 반환하도록 필터링합니다. |
[표 2. 반환]

{#SGR-addActiveQuery__table_o2r_tdq_fz}  

    var inc = new GlideRecord('incident');
    inc.addActiveQuery();
    inc.query();

## 범위 지정 GlideRecord - addEncodedQuery(문자열 쿼리, 부울 enforceFieldACL) {#ariaid-title3}

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

시스템 속성을 true로 설정하면 glide.invalid_query.returns_no_rows 인코딩된 쿼리가 잘못된 쿼리가 있는 쿼리가 기록을 반환하지 않도록 할 수 있습니다. 경우에 따라 쿼리가 true로 설정된 경우에도 glide.invalid_query.returns_no_rows API 결과에 레코드를 반환할 수 있습니다. 이 문제는 잘못된 쿼리 용어가 WHERE 연산자와 함께 사용되는 쿼리에서 발생합니다. 이러한 쿼리에서 WHERE 연산자는 잘못된 용어를 무시하지만 쿼리 문의 나머지 부분을 해석하고 반환합니다. 이 시스템 속성 및 해당 기능에 대한 자세한 내용은 을 참조하십시오 [Available system properties](https://www.servicenow.com/docs/access?context=r_AvailableSystemProperties&version=xanadu&pubname=xanadu-platform-administration&ft:locale=en-US).
{#r_ScopedGlideRecordAddEncodedQuery_String__table_vy2_525_jq__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 쿼리 | 문자열 | [인코딩된 쿼리 문자열](https://www.servicenow.com/docs/access?context=c_EncodedQueryStrings&version=xanadu&pubname=xanadu-platform-user-interface&ft:locale=en-US)입니다. |
| enforceFieldACL | 부울 | 옵션입니다. 필드 ACL(접근 제어 목록) 규칙을 적용할지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다. * true: 필드 ACL을 적용합니다. * false: 필드 ACL을 적용하지 않습니다. 기본값: false |
[표 3. 매개변수]

{#r_ScopedGlideRecordAddEncodedQuery_String__table_vy2_525_jq} {#r_ScopedGlideRecordAddEncodedQuery_String__table_up3_d5b_2r__entry__2}

| 유형 | 설명 |
|-|-|
| void |   |
[표 4. 반환]

{#r_ScopedGlideRecordAddEncodedQuery_String__table_up3_d5b_2r}  

    var queryString = "priority=1^ORpriority=2";
    var now_GR = new GlideRecord('incident');
    now_GR.addEncodedQuery(queryString);
    now_GR.query();
    while (now_GR.next()) {
      gs.addInfoMessage(now_GR.getValue('number'));
    }

## 범위 지정 GlideRecord - addFunction(객체 함수) {#ariaid-title4}

미리 정의된 GlideDBFunctionBuilder 객체를 기록에 적용합니다.
GlideDBFunctionBuilder 범위가 지정된 클래스를 사용하여 함수를 정의합니다. 함수를 정의한 후 addFunction(Object function) 메서드를 사용하여 레코드에 함수를 적용합니다.
{#r_ScopedGlideRecordAddFunction_O__table_mkh_dnk_kbb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 함수 | 객체 | SQL 작업을 정의하는 GlideDBFunctionBuilder 객체입니다. |
[표 5. 매개변수]

{#r_ScopedGlideRecordAddFunction_O__table_mkh_dnk_kbb} {#r_ScopedGlideRecordAddFunction_O__table_nkh_dnk_kbb__entry__2}

| 유형 | 설명 |
|-|-|
| void |   |
[표 6. 반환]

{#r_ScopedGlideRecordAddFunction_O__table_nkh_dnk_kbb}  

    var functionBuilder = new GlideDBFunctionBuilder();
    var myAddingFunction = functionBuilder.add();
    myAddingFunction = functionBuilder.field('order');
    myAddingFunction = functionBuilder.field('priority');
    myAddingFunction = functionBuilder.build();

    // Query incidents in which order + priority is less than 5 and display that added value
    var now_GR = new GlideRecord('incident');
    now_GR.addFunction(myAddingFunction);
    now_GR.addQuery(myAddingFunction, '<', 5);
    now_GR.query();
    while(now_GR.next())
      gs.info(now_GR.getValue(myAddingFunction));

출력:

    1
    4
    3
    1
    1
    2
    1

## 범위 지정 GlideRecord -- addJoinQuery(String joinTable, String primaryField, String joinTableField) {#ariaid-title5}

현재 GlideRecord와 관련된 테이블의 관계를 기반으로 기록을 반환하는 필터를 추가합니다.
이 방법을 사용하여 그룹 구성원 \[sys_user_grmember\] 테이블을 통해 데이터베이스 그룹에 있는 모든 사용자를 찾거나 incident.problem_id 관계를 통해 할당된 인시던트가 있는 모든 문제를 찾을 수 있습니다.

이것은 진정한 데이터베이스 조인이 아닙니다. 대신 addJoinQuery() 는 하위 쿼리를 추가합니다. 따라서 결과 집합은 조인에 따라 제한되지만 액세스할 수 있는 유일한 필드는 기본 테이블의 필드(GlideRecord가 초기화된 테이블에 있는 필드)입니다.

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

시스템 속성을 true로 설정하면 glide.invalid_query.returns_no_rows 인코딩된 쿼리가 잘못된 쿼리가 있는 쿼리가 기록을 반환하지 않도록 할 수 있습니다. 경우에 따라 쿼리가 true로 설정된 경우에도 glide.invalid_query.returns_no_rows API 결과에 레코드를 반환할 수 있습니다. 이 문제는 잘못된 쿼리 용어가 WHERE 연산자와 함께 사용되는 쿼리에서 발생합니다. 이러한 쿼리에서 WHERE 연산자는 잘못된 용어를 무시하지만 쿼리 문의 나머지 부분을 해석하고 반환합니다. 이 시스템 속성 및 해당 기능에 대한 자세한 내용은 을 참조하십시오 [Available system properties](https://www.servicenow.com/docs/access?context=r_AvailableSystemProperties&version=xanadu&pubname=xanadu-platform-administration&ft:locale=en-US).
{#r_ScopedGlideRecordAddJoinQuery_String_Object_Object__table_vy2_525_jq__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 조인 테이블 | 문자열 | 조인에 사용할 테이블의 이름(예 'incident': )입니다. |
| primaryField | 문자열 | 옵션입니다. 매개변수에 지정된 joinTableField 필드를 결합하는 데 사용할 GlideRecord의 필드 이름입니다. 기본값: sys_id |
| 조인 테이블 필드 | 문자열 | 옵션입니다. 테이블을 조인하는 데 사용하도록 지정된 joinTable 테이블의 필드 이름입니다. 기본값: 지정된 joinTable 테이블의 첫 번째 필드는 현재 GlideRecord 테이블에 대한 참조 필드입니다. |
[표 7. 매개변수]

{#r_ScopedGlideRecordAddJoinQuery_String_Object_Object__table_vy2_525_jq} {#r_ScopedGlideRecordAddJoinQuery_String_Object_Object__table_qpt_3f5_jq__entry__2}

| 유형 | 설명 |
|-|-|
| GlideQueryCondition | 관계가 일치하는 기록을 나열하는 필터입니다. |
[표 8. 반환]

{#r_ScopedGlideRecordAddJoinQuery_String_Object_Object__table_qpt_3f5_jq}  
인시던트가 첨부된 문제를 찾습니다. 이 예시는 연관된 인시던트가 있는 문제를 반환합니다. 그러나 쿼리의 일부로 반환되는 인시던트에서 값을 끌어오지는 않습니다.

    var prob = new GlideRecord('problem');
    prob.addJoinQuery('incident');
    prob.query();

관련 인시던트가 있는 비활성 문제를 찾습니다.

    // Look for Problem records that have associated Incident records
    var now_GR = new GlideRecord('problem');
    var grSQ = now_GR.addJoinQuery('incident');
     
    // Where the Problem records are "active=false"
    now_GR.addQuery('active', 'false');
     
    // And the Incident records are "active=true"
    grSQ.addCondition('active', 'true');
     
    // Query
    now_GR.query();
     
    // Iterate and output results
    while (now_GR.next()) {
    gs.info(now_GR.getValue('number'));
    }

인시던트 caller_id 필드 값이 문제 opened_by 필드 값과 일치하는 인시던트와 관련된 문제를 찾습니다.

    var now_GR = new GlideRecord('problem'); 
            now_GR.addJoinQuery('incident', 'opened_by', 'caller_id'); 
            now_GR.query();

## 범위 지정된 GlideRecord - addNotNullQuery(String fieldName) {#ariaid-title6}

매개변수에 전달된 필드의 값이 null이 아닌 기록을 지정하는 필터입니다.
쿼리를 프로덕션 인스턴스에 배포하기 전에 항상 하위 프로덕션 인스턴스에서 테스트합니다. 잘못된 필드 이름을 포함하는 것과 같이 잘못 구성된 인코딩된 쿼리는 잘못된 쿼리를 생성합니다. 잘못된 쿼리가 실행되면 쿼리 조건의 잘못된 부분이 삭제되고 결과는 쿼리의 유효한 부분을 기반으로 하므로 테이블에서 모든 레코드를 반환할 수 있습니다. 잘못된 쿼리 결과에 insert(), update(),deleteRecord() 또는 deleteMultiple() 메서드를 사용하면 데이터가 손실될 수 있습니다.

시스템 속성을 true로 설정하면 glide.invalid_query.returns_no_rows 인코딩된 쿼리가 잘못된 쿼리가 있는 쿼리가 기록을 반환하지 않도록 할 수 있습니다. 경우에 따라 쿼리가 true로 설정된 경우에도 glide.invalid_query.returns_no_rows API 결과에 레코드를 반환할 수 있습니다. 이 문제는 잘못된 쿼리 용어가 WHERE 연산자와 함께 사용되는 쿼리에서 발생합니다. 이러한 쿼리에서 WHERE 연산자는 잘못된 용어를 무시하지만 쿼리 문의 나머지 부분을 해석하고 반환합니다. 이 시스템 속성 및 해당 기능에 대한 자세한 내용은 을 참조하십시오 [Available system properties](https://www.servicenow.com/docs/access?context=r_AvailableSystemProperties&version=xanadu&pubname=xanadu-platform-administration&ft:locale=en-US).
{#r_ScopedGlideRecordAddNotNullQuery_String__table_vy2_525_jq__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| fieldName | 문자열 | 확인할 필드의 이름입니다. |
[표 9. 매개변수]

{#r_ScopedGlideRecordAddNotNullQuery_String__table_vy2_525_jq} {#r_ScopedGlideRecordAddNotNullQuery_String__table_qpt_3f5_jq__entry__2}

| 유형 | 설명 |
|-|-|
| GlideQueryCondition | 매개변수에 전달된 필드의 값이 null이 아닌 기록을 지정하는 필터입니다. |
[표 10. 반환]

{#r_ScopedGlideRecordAddNotNullQuery_String__table_qpt_3f5_jq}  

    var target = new GlideRecord('incident'); 
    target.addNotNullQuery('short_description');
    target.query();   // Issue the query to the database to get all records where short_description is not null
    while (target.next()) {   
         // add code here to process the incident record
    }

## 범위 지정 GlideRecord - addNullQuery(String fieldName) {#ariaid-title7}

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

시스템 속성을 true로 설정하면 glide.invalid_query.returns_no_rows 인코딩된 쿼리가 잘못된 쿼리가 있는 쿼리가 기록을 반환하지 않도록 할 수 있습니다. 경우에 따라 쿼리가 true로 설정된 경우에도 glide.invalid_query.returns_no_rows API 결과에 레코드를 반환할 수 있습니다. 이 문제는 잘못된 쿼리 용어가 WHERE 연산자와 함께 사용되는 쿼리에서 발생합니다. 이러한 쿼리에서 WHERE 연산자는 잘못된 용어를 무시하지만 쿼리 문의 나머지 부분을 해석하고 반환합니다. 이 시스템 속성 및 해당 기능에 대한 자세한 내용은 을 참조하십시오 [Available system properties](https://www.servicenow.com/docs/access?context=r_AvailableSystemProperties&version=xanadu&pubname=xanadu-platform-administration&ft:locale=en-US).
{#r_ScopedGlideRecordAddNullQuery_String__table_vy2_525_jq__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| fieldName | 문자열 | 확인할 필드의 이름입니다. |
[표 11. 매개변수]

{#r_ScopedGlideRecordAddNullQuery_String__table_vy2_525_jq} {#r_ScopedGlideRecordAddNullQuery_String__table_sp2_b5b_2r__entry__2}

| 유형 | 설명 |
|-|-|
| GlideQueryCondition | GlideRecord에 추가된 쿼리 조건입니다. |
[표 12. 반환]

{#r_ScopedGlideRecordAddNullQuery_String__table_sp2_b5b_2r}  

    var target = new GlideRecord('incident'); 
    target.addNullQuery('short_description');
    target.query();   // Issue the query to the database to get all records where short_description is null
    while (target.next()) {   
       // add code here to process the incident record
    }

## 범위 지정된 GlideRecord - addQuery(문자열 쿼리) {#ariaid-title8}

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

시스템 속성을 true로 설정하면 glide.invalid_query.returns_no_rows 인코딩된 쿼리가 잘못된 쿼리가 있는 쿼리가 기록을 반환하지 않도록 할 수 있습니다. 경우에 따라 쿼리가 true로 설정된 경우에도 glide.invalid_query.returns_no_rows API 결과에 레코드를 반환할 수 있습니다. 이 문제는 잘못된 쿼리 용어가 WHERE 연산자와 함께 사용되는 쿼리에서 발생합니다. 이러한 쿼리에서 WHERE 연산자는 잘못된 용어를 무시하지만 쿼리 문의 나머지 부분을 해석하고 반환합니다. 이 시스템 속성 및 해당 기능에 대한 자세한 내용은 을 참조하십시오 [Available system properties](https://www.servicenow.com/docs/access?context=r_AvailableSystemProperties&version=xanadu&pubname=xanadu-platform-administration&ft:locale=en-US).
{#r_ScopedGlideRecordAddQuery_String__table_vy2_525_jq__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 쿼리 | 문자열 | [인코딩된 쿼리 문자열](https://www.servicenow.com/docs/access?context=c_EncodedQueryStrings&version=xanadu&pubname=xanadu-platform-user-interface&ft:locale=en-US)입니다. |
[표 13. 매개변수]

{#r_ScopedGlideRecordAddQuery_String__table_vy2_525_jq} {#r_ScopedGlideRecordAddQuery_String__table_nqz_ztb_2r__entry__2}

| 유형 | 설명 |
|-|-|
| GlideQueryCondition | GlideRecord에 추가된 쿼리 조건입니다. |
[표 14. 반환]

{#r_ScopedGlideRecordAddQuery_String__table_nqz_ztb_2r}  

    var rec = new GlideRecord('incident');
    rec.addQuery('active=true');
    rec.query();
    while (rec.next()) {
      rec.setValue('active', false);
      gs.info('Active incident ' + rec.getValue('number') + ' closed');
      rec.update();
    }

## 범위 지정된 GlideRecord - addQuery(문자열 이름, 객체 값) {#ariaid-title9}

검색 쿼리를 작성하고 요청과 일치하는 행을 반환합니다.
SQL에 익숙한 경우 이 메서드는 "where" 절과 유사합니다. 단일 쿼리에서 하나 이상의 addQuery() 호출을 수행할 수 있습니다. 이 경우 쿼리는 AND'ed입니다. 쿼리 문을 OR로 설정해야 하는 경우 GlideQueryCondition 메서드 [addOrCondition()](https://servicenow-prod.fluidtopics.net/FBxi80w4mYNPdaEq3ldWlA#r_ScopedGlideQueryConditionAddOrCondition "두 개 또는 세 개의 매개변수 OR 조건을 기존 GlideQueryCondition에 추가합니다.")을 사용합니다.

addQuery()가 두 개의 매개 변수, 테이블 이름 및 비교 값(예: `myObj.addQuery('category','Hardware');`)으로만 호출되면 연산자는 "같음"으로 간주됩니다.

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

시스템 속성을 true로 설정하면 glide.invalid_query.returns_no_rows 인코딩된 쿼리가 잘못된 쿼리가 있는 쿼리가 기록을 반환하지 않도록 할 수 있습니다. 경우에 따라 쿼리가 true로 설정된 경우에도 glide.invalid_query.returns_no_rows API 결과에 레코드를 반환할 수 있습니다. 이 문제는 잘못된 쿼리 용어가 WHERE 연산자와 함께 사용되는 쿼리에서 발생합니다. 이러한 쿼리에서 WHERE 연산자는 잘못된 용어를 무시하지만 쿼리 문의 나머지 부분을 해석하고 반환합니다. 이 시스템 속성 및 해당 기능에 대한 자세한 내용은 을 참조하십시오 [Available system properties](https://www.servicenow.com/docs/access?context=r_AvailableSystemProperties&version=xanadu&pubname=xanadu-platform-administration&ft:locale=en-US).
{#r_ScopedGlideRecordAddQuery_String_Object__table_vy2_525_jq__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 이름 | 문자열 | 쿼리할 테이블 필드의 이름이나 다음 예약된 이름 중 하나: * 123TEXTQUERY321: 쿼리에 문자열 검색어를 추가합니다. 일치시킬 문자열을 값으로 지정합니다. 이 옵션을 사용하여 검색 문자열이 포함된 필드 값이 있는 기록을 반환합니다. 이 옵션은 인덱싱 및 검색을 위해 구성해야 하는 테이블의 모든 필드를 검색합니다. 인덱싱 및 검색을 위한 테이블 구성에 대한 자세한 내용은 [인덱싱 및 검색을 위한 단일 테이블 구성 섹션을 참조하세요](https://www.servicenow.com/docs/access?context=configure-single-table-for-indexing&version=xanadu&pubname=xanadu-platform-administration&ft:locale=en-US). * 123TEXTINDEXGROUP321: 쿼리에 텍스트 인덱스 그룹을 추가합니다. 값으로 쿼리할 텍스트 인덱스 그룹 \[ts_index_group\] 테이블에서 텍스트 인덱스 그룹의 이름을 지정합니다. 이 옵션을 사용하면 텍스트 인덱스 그룹의 테이블 중 하나에서 해당 텍스트 인덱스 그룹의 설정을 사용하여 정규화된 결과 관련성 점수와 함께 검색 결과를 반환할 수 있습니다. 텍스트 인덱스 그룹 구성에 대한 자세한 내용은 [인덱싱 및 검색을 위한 여러 테이블 구성](https://www.servicenow.com/docs/access?context=index-multiple-tables&version=xanadu&pubname=xanadu-platform-administration&ft:locale=en-US) 섹션을 참조하세요. {#r_ScopedGlideRecordAddQuery_String_Object__ul_e5c_slk_xhb} 주: 예약된 이름 사용에 대한 자세한 내용은 을 참조하십시오 [스크립트에서 테이블 쿼리](https://servicenow-prod.fluidtopics.net/mpfGgZpkwp6yx_5wdXMe9g#c_UsingGlideRecordToQueryTables "GlideRecord API의 메서드를 사용하여 테이블에서 모든 기록을 반환하거나, 특정 조건을 만족하는 테이블에서 기록을 반환하거나, 단일 테이블 또는 텍스트 인덱스 그룹의 여러 테이블에서 문자열을 포함하는 기록을 반환할 수 있습니다."). |
| 값 | 객체 | 쿼리할 값(대/소문자 구분 안 함)입니다. |
[표 15. 매개변수]

{#r_ScopedGlideRecordAddQuery_String_Object__table_vy2_525_jq} {#r_ScopedGlideRecordAddQuery_String_Object__table_pd3_ytb_2r__entry__2}

| 유형 | 설명 |
|-|-|
| GlideQueryCondition | GlideRecord에 추가된 쿼리 조건입니다. |
[표 16. 반환]

{#r_ScopedGlideRecordAddQuery_String_Object__table_pd3_ytb_2r}  
이 코드 예제에서는 인시던트 테이블의 활성 레코드를 쿼리한 다음 모두 비활성으로 설정하는 방법을 보여 줍니다.

    var rec = new GlideRecord('incident');
    rec.addQuery('active', true);
    rec.query();
    while (rec.next()) {
      rec.setValue('active', false);
      rec.update();
    }

이 코드 예제에서는 포털 텍스트 인덱스 그룹의 설정을 사용하여 계산된 검색 결과 관련성 값을 사용하여 kb_knowledge 테이블의 "전자 메일 서버"와 일치하는 레코드에 대한 쿼리를 추가합니다.

    var now_GR = new GlideRecord("kb_knowledge);
    now_GR.addQuery("123TEXTQUERY321", "email server");
    now_GR.addQuery("123TEXTINDEXGROUP321", "portal");
    now_GR.query();

## 범위 지정된 GlideRecord - addQuery(문자열 이름, 문자열 연산자, 객체 값) {#ariaid-title10}

요청을 작성할 수 있는 기능을 제공하며, 요청이 실행되면 요청과 일치하는 지정된 테이블의 행을 반환합니다.
SQL에 익숙한 경우 이 메서드는 "where" 절과 유사합니다. 단일 쿼리에서 하나 이상의 addQuery() 호출을 수행할 수 있습니다. 이 경우 쿼리는 AND'ed입니다. 쿼리 문을 OR로 설정해야 하는 경우 GlideQueryCondition 메서드 [addOrCondition()](https://servicenow-prod.fluidtopics.net/FBxi80w4mYNPdaEq3ldWlA#r_ScopedGlideQueryConditionAddOrCondition "두 개 또는 세 개의 매개변수 OR 조건을 기존 GlideQueryCondition에 추가합니다.")을 사용합니다.

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

시스템 속성을 true로 설정하면 glide.invalid_query.returns_no_rows 인코딩된 쿼리가 잘못된 쿼리가 있는 쿼리가 기록을 반환하지 않도록 할 수 있습니다. 경우에 따라 쿼리가 true로 설정된 경우에도 glide.invalid_query.returns_no_rows API 결과에 레코드를 반환할 수 있습니다. 이 문제는 잘못된 쿼리 용어가 WHERE 연산자와 함께 사용되는 쿼리에서 발생합니다. 이러한 쿼리에서 WHERE 연산자는 잘못된 용어를 무시하지만 쿼리 문의 나머지 부분을 해석하고 반환합니다. 이 시스템 속성 및 해당 기능에 대한 자세한 내용은 을 참조하십시오 [Available system properties](https://www.servicenow.com/docs/access?context=r_AvailableSystemProperties&version=xanadu&pubname=xanadu-platform-administration&ft:locale=en-US).
{#r_ScopedGlideRecordAddQuery_String_String_Object__table_vy2_525_jq__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 이름 | 문자열 | 테이블 필드 이름입니다. |
| 운영자 | 문자열 | 쿼리 연산자입니다. 사용 가능한 값은 <var class="keyword varname">value</var> 매개변수의 데이터 유형에 따라 다릅니다. 숫자: * = * != * \> * \>= * \< * \<= {#r_ScopedGlideRecordAddQuery_String_String_Object__ul_qyb_rbt_3y} 문자열(대문자여야 함): * = * != * IN * 에 없음 * STARTSWITH * ENDSWITH * 포함 * 포함하지 않음 * INSTANCEOF {#r_ScopedGlideRecordAddQuery_String_String_Object__ul_egz_vbt_3y} 주: LIKE 연산자 대신 CONTAINS를 사용합니다. |
| 값 | 객체 | 쿼리할 값(대/소문자 구분 안 함)입니다. |
[표 17. 매개변수]

{#r_ScopedGlideRecordAddQuery_String_String_Object__table_vy2_525_jq} {#r_ScopedGlideRecordAddQuery_String_String_Object__table_gty_wtb_2r__entry__2}

| 유형 | 설명 |
|-|-|
| GlideQueryCondition | GlideRecord에 추가된 쿼리 조건입니다. |
[표 18. 반환]

{#r_ScopedGlideRecordAddQuery_String_String_Object__table_gty_wtb_2r}  

    var rec = new GlideRecord('incident');
    rec.addQuery('active',true);
    rec.addQuery('sys_created_on', ">", "2010-01-19 04:05:00");
    rec.query();
    while (rec.next()) {
      rec.setValue('active', false);
      gs.info('Active incident ' + rec.getValue('number') + ' closed');
      rec.update();
    }

IN 연산자 사용.

    var now_GR = new GlideRecord('incident');
    now_GR.addQuery('number','IN','INC00001,INC00002');
    now_GR.query();
    while(now_GR.next()) {
      //do something....
    }

## 범위 지정된 GlideRecord - addValue(문자열 필드, 숫자 값) {#ariaid-title11}

현재 GlideRecord 객체에 대한 데이터베이스 수준에서 지정된 숫자 필드에 대한 원자성 더하기 및 빼기 연산을 제공합니다.
일반적으로 GlideRecord 객체는 데이터베이스에 하나의 기록으로 작성됩니다. 개별 필드 값은 정의된 대로 저장됩니다. GlideRecord 필드에 값을 추가하는 코드의 경우 필드를 원자성으로 증가시키는 대신 새 값을 사용하여 데이터베이스에 저장하기만 하면 됩니다.  
예를 들어 다음 코드를 실행하면 데이터베이스의 <var class="keyword varname">u_count</var> 필드 값은 2입니다.

    gs.info(now_GR.u_count); // "1" 
    now_GR.u_count += 1;
    now_GR.update();
    now_GR.get(now_GR.sys_id);
    gs.info(now_GR.u_count); // "2"

다른 사용자가 동일한 코드를 동시에 실행하는 경우 두 연산이 각각 1을 더 <var class="keyword varname">하는 대신 u_count</var> 결과적으로 <var class="keyword varname">u_count</var> 에는 2개만 포함되고 한 연산의 업데이트가 실제로 손실됩니다.  
반대로, addValue() 메서드는 레코드가 원자성 작업으로 업데이트될 때 데이터베이스에서 더하기/빼기를 수행합니다. 두 작업이 동시에 실행되면 각각 필드가 올바르게 업데이트됩니다.

    gs.info(now_GR.u_count); // "1" 
    now_GR.addValue("u_count", 1); 
    now_GR.update(); 
    now_GR.get(now_GR.sys_id); // The record must be reloaded from the database to observe the result
    gs.info(now_GR.u_count); // "3", if executed concurrently with another user 

주:  
명시적으로 읽지 않는 한 새 값을 데이터베이스에서 다시 읽지 않습니다.

setValue()와 마찬가지로 addValue() 변경 사항은 update() 또는 insert()에 대한 후속 호출 후에만 데이터베이스에 적용됩니다. insert()가 호출되면 addValue()에 전달된 value 매개변수로 지정된 필드가 초기화됩니다.  
주:  
addValue()를 호출하기 전에 지정된 필드에 대해 setValue()를 호출하면 addValue() 메서드가 처리되지 않고 오류 메시지가 기록됩니다.
{#SGR-addValue_S_N__table_h43_tjt_hlb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 필드 | 문자열 | 수정할 이 GlideRecord의 필드 이름입니다. 주: 연결된 필드의 데이터 유형은 정수여야 합니다. 이 메서드는 long과 같은 다른 데이터 형식을 지원하지 않습니다. |
| 값 | 정수 | 기록이 저장될 때 값에 추가할 금액입니다. 빼기 연산을 수행하려면 음수 값을 전달하기만 하면 됩니다. |
[표 19. 매개변수]

{#SGR-addValue_S_N__table_h43_tjt_hlb} {#SGR-addValue_S_N__table_i43_tjt_hlb__entry__2}

| 유형 | 설명 |
|-|-|
| void |   |
[표 20. 반환]

{#SGR-addValue_S_N__table_i43_tjt_hlb}  
추가되는 값을 표시합니다.

    gs.info(now_GR.u_count); // "1" 
    now_GR.addValue("u_count", 1); 
    now_GR.update(); 
    now_GR.get(now_GR.sys_id); // The record must be reloaded from the database to observe the result
    gs.info(now_GR.u_count);

출력:

    2

뺄 값을 표시합니다.

    gs.info(now_GR.u_count); // "4" 
    now_GR.addValue("u_count", -1); 
    now_GR.update(); 
    now_GR.get(now_GR.sys_id); // The record must be reloaded from the database to observe the result
    gs.info(now_GR.u_count);

출력:

    3

## 범위 지정된 GlideRecord - applyEncodedQuery(String, queryString) {#ariaid-title12}

지정된 인코딩된 쿼리 용어의 값을 설정하고 현재 GlideRecord에 적용합니다.
{#SGR-applyEncodedQuery_S__table_p5j_nfg_rmb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 쿼리 문자열 | 문자열 | 현재 GlideRecord에 적용할 인코딩된 쿼리입니다. |
[표 21. 매개변수]

{#SGR-applyEncodedQuery_S__table_p5j_nfg_rmb} {#SGR-applyEncodedQuery_S__table_q5j_nfg_rmb__entry__2}

| 유형 | 설명 |
|-|-|
| 없음 |   |
[표 22. 반환]

{#SGR-applyEncodedQuery_S__table_q5j_nfg_rmb}  
<br />

    function createAcl(table, role) {
      gs.info("Checking security on table " + table);
      var now_GR = new GlideRecord("sys_security_acl");
      now_GR.addQuery("name", table);
      now_GR.addQuery("operation", "read");
      now_GR.query();
      var encQuery = now_GR.getEncodedQuery();
      if (now_GR.next()) {
      // existing acl found so use it
        createAclRole(now_GR.getValue('sys_id'), role);
        return;
      } else {
        now_GR.initialize();
        now_GR.applyEncodedQuery(encQuery);
        var acl = now_GR.insert();
        gs.info("Added read access control on " + table);
        createAclRole(acl, role);
      }
    }

## 범위 지정된 GlideRecord - canCreate() {#ariaid-title13}

사용자의 역할을 포함하는 접근 제어 규칙이 이 테이블에 새 기록을 삽입하는 것을 허용하는지 여부를 결정합니다.
{#r_ScopedGlideRecordCanCreate__table_vy2_535_jq__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 없음 |   |   |
[표 23. 매개변수]

{#r_ScopedGlideRecordCanCreate__table_vy2_535_jq} {#r_ScopedGlideRecordCanCreate__table_g2l_vtb_2r__entry__2}

| 유형 | 설명 |
|-|-|
| 부울 | 사용자의 역할이 이 테이블에서 기록 생성을 허용하는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다. * true: 허용됨 생성 * false: 생성이 허용되지 않습니다. {#r_ScopedGlideRecordCanCreate__ul_vtm_pf2_t3b} |
[표 24. 반환]

{#r_ScopedGlideRecordCanCreate__table_g2l_vtb_2r}  
이 코드 예제에서는 현재 사용자가 시스템 로그의 인시던트 테이블에 레코드를 만들 수 있는지 여부를 씁니다.

    var now_GR = new GlideRecord('incident');
    gs.info(now_GR.canCreate());

## 범위 지정된 GlideRecord - canDelete() {#ariaid-title14}

사용자의 역할을 포함하는 접근 제어 규칙이 이 테이블의 기록 삭제를 허용하는지 여부를 결정합니다.
{#r_ScopedGlideRecordCanDelete__table_vy2_535_jq__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 없음 |   |   |
[표 25. 매개변수]

{#r_ScopedGlideRecordCanDelete__table_vy2_535_jq} {#r_ScopedGlideRecordCanDelete__table_pdw_ftb_2r__entry__2}

| 유형 | 설명 |
|-|-|
| 부울 | 사용자의 역할이 이 테이블의 기록 삭제를 허용하는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다. * true: 삭제가 허용됨 * false: 삭제가 허용되지 않습니다. {#r_ScopedGlideRecordCanDelete__ul_vtm_pf2_t3b} |
[표 26. 반환]

{#r_ScopedGlideRecordCanDelete__table_pdw_ftb_2r}  
이 코드 예제에서는 현재 사용자가 시스템 로그의 인시던트 테이블에서 레코드를 삭제할 수 있는지 여부를 씁니다.

    var att = new GlideRecord('sys_attachment');
    gs.info(att.canDelete());

## 범위가 지정된 GlideRecord - canRead() {#ariaid-title15}

접근 통제 규칙(ACL)이 이 테이블의 기록 읽기를 허용하는지 여부를 결정합니다. 이 방법은 사용자 역할, 스크립팅된 ACL, 스크립팅된 조건이 있는 ACL 등과 같은 모든 ACL 유형을 평가합니다.
{#r_ScopedGlideRecordCanRead__table_vy2_5335_jq__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 없음 |   |   |
[표 27. 매개변수]

{#r_ScopedGlideRecordCanRead__table_vy2_5335_jq} {#r_ScopedGlideRecordCanRead__table_zmp_ttb_2r__entry__2}

| 유형 | 설명 |
|-|-|
| 부울 | 사용자의 역할이 이 테이블의 기록 읽기를 허용하는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다. * true: 읽기가 허용됨 * false: 읽기가 허용되지 않습니다. {#r_ScopedGlideRecordCanRead__ul_vtm_pf2_t3b} |
[표 28. 반환]

{#r_ScopedGlideRecordCanRead__table_zmp_ttb_2r}  
이 코드 예제에서는 현재 사용자가 인시던트 테이블의 레코드를 시스템 로그에 읽을 수 있는지 여부를 씁니다.

    var now_GR = new GlideRecord('incident');
    gs.info(now_GR.canRead());

## 범위 지정된 GlideRecord - canWrite() {#ariaid-title16}

사용자의 역할을 포함하는 접근 제어 규칙이 이 테이블의 기록 편집을 허용하는지 여부를 결정합니다.
{#r_ScopedGlideRecordCanWrite__table_vxy2_535_jq__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 없음 |   |   |
[표 29. 매개변수]

{#r_ScopedGlideRecordCanWrite__table_vxy2_535_jq} {#r_ScopedGlideRecordCanWrite__table_sq3_ttb_2r__entry__2}

| 유형 | 설명 |
|-|-|
| 부울 | 사용자의 역할이 이 테이블의 기록 쓰기를 허용하는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다. * true: 쓰기 허용 * false: 쓰기가 허용되지 않습니다. |
[표 30. 반환]

{#r_ScopedGlideRecordCanWrite__table_sq3_ttb_2r}  
이 코드 예제에서는 현재 사용자가 인시던트 테이블의 레코드를 시스템 로그에 쓸 수 있는지 여부를 씁니다.

    var now_GR = new GlideRecord('incident');
    gs.info(now_GR.canWrite());

## 범위/전역 GlideRecord - chooseWindow(번호 firstRow, 번호 lastRow, 부울 forceCount) {#ariaid-title17}

후속 쿼리에서 반환할 행 범위를 설정합니다.
{#r_ScopedGlideRecordChooseWindow_Number_Number_Boolean__table_vy2_525_jq__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 첫 번째 행 | 번호 | 포함할 첫 번째 행입니다. 인덱스가 0에서 시작하므로 값이 0이면 첫 번째 행이 반환됩니다. |
| lastRow (마지막 행) | 번호 | 반환하지 않을 첫 번째 행의 0부터 시작하는 행 번호입니다. Java의 String.substring(a,b) 메서드와 유사하게 동작합니다. 예를 들어 lastRow = 4 및 firstRow = 2이면 두 개의 레코드가 반환됩니다(4-2). |
| 포스 카운트 | 부울 | 옵션입니다. 행 개수 쿼리를 강제 적용할지 여부를 나타내는 플래그입니다. 이 호출의 대부분의 구현에서 행 카운트가 수행됩니다. 행 수 계산이 수행되지 않은 텍스트 검색과 같은 일부 외부 케이스가 있습니다. 이 플래그를 설정하면 행 카운트가 발생합니다. 유효한 값은 다음과 같습니다. * true: 행 카운트가 항상 발생합니다. * false: 메서드의 정상적인 실행에서 구현된 경우 행 개수가 발생합니다. {#r_ScopedGlideRecordChooseWindow_Number_Number_Boolean__ul_fgp_42j_gqb} 기본값: false |
[표 31. 매개변수]

{#r_ScopedGlideRecordChooseWindow_Number_Number_Boolean__table_vy2_525_jq} {#r_ScopedGlideRecordChooseWindow_Number_Number_Boolean__table_rhg_rtb_2r__entry__2}

| 유형 | 설명 |
|-|-|
| void |   |
[표 32. 반환]

{#r_ScopedGlideRecordChooseWindow_Number_Number_Boolean__table_rhg_rtb_2r}  
이 예는 인시던트 테이블에서 기록 3과 4를 반환하는 것을 보여줍니다.

    var now_GR = new GlideRecord('incident');
    now_GR.orderBy('number');
    now_GR.chooseWindow(2, 4);
    now_GR.query();
    while (now_GR.next()) {
      gs.info(now_GR.getValue('number') + ' is within window');
    }

출력

    *** Script: INC0000003 is within window
    *** Script: INC0000004 is within window

## 범위 지정된 GlideRecord - deleteMultiple() {#ariaid-title18}

쿼리를 만족하는 모든 기록을 삭제합니다.
이 메서드는 첨부 파일을 삭제하지 않습니다.

통화 필드가 있는 테이블에는 deleteMultiple() 을 사용하지 마십시오. 항상 각 기록을 개별적으로 삭제하십시오. 또한 큰 테이블로 작업할 때는 chooseWindow() 또는 setLimit() 메서드와 함께 이 메서드를 사용하지 마십시오. setLimit() 메서드는 deleteMultiple()로 삭제되는 레코드 수를 제한하지 않습니다. 쿼리에서 반환된 모든 레코드는 setLimit()에 관계없이 삭제됩니다.

glide.db.forced.chunk.threshold 시스템 속성은 청크 기록 삭제 및 업데이트를 강제하는 임계치를 설정합니다. 청크는 대용량 테이블에서 기본이 아닌 키 삭제로 인해 복제 문제가 발생하는 것을 방지하는 데 도움이 됩니다. 자세한 내용은 [Available system properties](https://www.servicenow.com/docs/access?context=r_AvailableSystemProperties&version=xanadu&pubname=xanadu-platform-administration&ft:locale=en-US) 문서를 참조하십시오.
{#r_ScopedGlideRecordDeleteMultiple__table_vy2_51_jq__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 없음 |   |   |
[표 33. 매개변수]

{#r_ScopedGlideRecordDeleteMultiple__table_vy2_51_jq} {#r_ScopedGlideRecordDeleteMultiple__table_fpr_qtb_2r__entry__2}

| 유형 | 설명 |
|-|-|
| 없음 |   |
[표 34. 반환]

{#r_ScopedGlideRecordDeleteMultiple__table_fpr_qtb_2r}  
이 예는 인시던트 테이블에서 모든 비활성 기록을 삭제하는 방법을 보여줍니다.

    var now_GR = new GlideRecord('incident');
    now_GR.addQuery('active','false');
    now_GR.query();
    now_GR.deleteMultiple();

## 범위 지정된 GlideRecord - deleteRecord() {#ariaid-title19}

현재 기록을 삭제합니다.
{#r_ScopedGlideRecordDeleteRecord__table_vxy2_535_jq__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 없음 |   |   |
[표 35. 매개변수]

{#r_ScopedGlideRecordDeleteRecord__table_vxy2_535_jq} {#r_ScopedGlideRecordDeleteRecord__table_rrm_4tb_2r__entry__2}

| 유형 | 설명 |
|-|-|
| 부울 | 기록이 성공적으로 삭제되었는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다. * true: 기록이 삭제되었습니다. * false: 삭제할 기록을 찾을 수 없습니다. {#r_ScopedGlideRecordDeleteRecord__ul_hkn_5bj_s3b} |
[표 36. 반환]

{#r_ScopedGlideRecordDeleteRecord__table_rrm_4tb_2r}  
이 예는 인시던트 테이블에서 지정된 기록을 삭제하는 방법을 보여줍니다.

    var now_GR = new GlideRecord('incident');
    //to delete one record
    if (now_GR.get('99ebb4156fa831005be8883e6b3ee4b9'))
        now_GR.deleteRecord();

이 예는 인시던트 테이블에서 기록을 삽입한 직후 삭제하는 방법을 보여줍니다. 인시던 트 GlideRecord 를 삭제하려면 먼저 삽입 후 다시 로드해야 합니다.

    var grTicket = new GlideRecord('incident');
    grTicket.initialize();
    grTicket.short_description = 'Example ticket';
    grTicket.work_notes = 'An update about the ticket';
    var ins_sys_id = grTicket.insert(); // Insert the record
    grTicket.get(ins_sys_id); // Reload the inserted record
    gs.info(grTicket.deleteRecord()); // Delete the record

출력:

    true

## 범위 지정된 GlideRecord - get(객체 이름, 객체 값) {#ariaid-title20}

현재 GlideRecord 객체에서 지정된 기록을 반환합니다.
이 메서드는 하나 또는 두 개의 매개 변수를 허용합니다. 단일 매개 변수만 전달되는 경우 메서드는 해당 매개 변수가 원하는 레코드의 sys_id이라고 가정합니다. 찾을 수 없는 경우에는 값을 표시 값과 일치시키려고 시도합니다. 두 매개변수가 전달되면 첫 번째 매개변수는 검색할 GlideRecord 내 열의 이름입니다. 두 번째는 검색할 값입니다.

레코드가 여러 개 있는 경우 next() 를 사용하여 추가 레코드에 액세스합니다.
{#r_ScopedGlideRecordGet_Object_Object__table_vy2_525_jq__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 이름 | 객체 | 옵션입니다. 지정된 value 매개변수를 검색할 인스턴스화된 GlideRecord 열의 이름입니다. 단일 매개 변수만 전달되는 경우 메서드는 이 매개 변수가 sys_id 값 또는 표시 값이라고 가정합니다. |
| 값 | 객체 | 일치시킬 값입니다. |
[표 37. 매개변수]

{#r_ScopedGlideRecordGet_Object_Object__table_vy2_525_jq} {#r_ScopedGlideRecordGet_Object_Object__table_qpt_3f5_jq__entry__2}

| 유형 | 설명 |
|-|-|
| 부울 | 요청된 기록의 위치 여부를 나타냄: * true: 기록이 발견되었습니다. * false: 기록을 찾을 수 없습니다. {#r_ScopedGlideRecordGet_Object_Object__ul_ngs_clw_qfb} |
[표 38. 반환]

{#r_ScopedGlideRecordGet_Object_Object__table_qpt_3f5_jq}  
이 예는 sys_id 전달하여 인시던트 기록을 확보하는 방법을 보여줍니다.

    var grIncident = new GlideRecord('incident');
    var returnValue = grIncident.get('99ebb4156fa831005be8883e6b3ee4b9');
    gs.info(returnValue); // logs true or false
    gs.info(grIncident.short_description); // logs Incident Short description

이 예는 검색할 필드(caller_id.name)와 해당 필드 내에서 일치하는 값을 전달하여 인시던트 기록을 얻는 방법을 보여줍니다.

    var grIncident = new GlideRecord('incident');
    var returnValue = grIncident.get('caller_id.name','Sylivia Wayland');
    gs.info(returnValue); // logs true or false
    gs.info(grIncident.getValue('number')); // logs Incident Number

## 범위 지정된 GlideRecord - getAttribute(String fieldName) {#ariaid-title21}

지정된 필드에 대한 딕셔너리 속성을 반환합니다.
{#SGR-getAttribute_S__table_xqs_wfq_fz__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| fieldName | 문자열 | 딕셔너리 속성을 반환할 필드 이름 |
[표 39. 매개변수]

{#SGR-getAttribute_S__table_xqs_wfq_fz} {#SGR-getAttribute_S__table_yqs_wfq_fz__entry__2}

| 유형 | 설명 |
|-|-|
| 문자열 | 딕셔너리 속성 |
[표 40. 반환]

{#SGR-getAttribute_S__table_yqs_wfq_fz}  

    doit();
    function doit() {
      var now_GR = new GlideRecord('sys_user');
      now_GR.query("user_name","admin");
      if (now_GR.next()) {
        gs.info("we got one");
        gs.info(now_GR.location.getAttribute("tree_picker"));
      }
    }

## 범위 지정된 GlideRecord - getClassDisplayValue() {#ariaid-title22}

현재 테이블의 레이블을 반환합니다.
{#SGR-getClassDisplayValue__table_ltd_ydr_dt__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 없음 |   |   |
[표 41. 매개변수]

{#SGR-getClassDisplayValue__table_ltd_ydr_dt} {#SGR-getClassDisplayValue__table_mtd_ydr_dt__entry__2}

| 유형 | 설명 |
|-|-|
| 문자열 | 테이블을 식별하는 레이블입니다. |
[표 42. 반환]

{#SGR-getClassDisplayValue__table_mtd_ydr_dt}  
이 예제에서는 전달된 테이블의 레이블을 인쇄합니다.

    // Display the incident table label
    var now_GR = new GlideRecord("incident");
    var value = now_GR.getClassDisplayValue();
    gs.info("The table label is " + value + ".");

출력:

    The table label is Incident.

## 범위 지정된 GlideRecord - getDisplayValue() {#ariaid-title23}

현재 기록의 표시 값을 검색합니다.
표시 값은 데이터베이스의 실제 값과 사용자 또는 시스템 설정 및 기본 설정에 따라 조작됩니다.  
반환되는 표시 값은 필드 유형에 따라 다릅니다.

* 선택 필드: 데이터베이스 값은 숫자일 수 있지만 표시 값은 더 설명적입니다.
* 날짜 필드: 데이터베이스 값은 UTC 형식이고 표시 값은 사용자의 시간대를 기반으로 합니다.
* 암호화된 텍스트: 데이터베이스 값은 암호화되지만 표시된 값은 사용자의 암호화 컨텍스트에 따라 암호화되지 않습니다.
* 참조 필드: 데이터베이스 값은 sys_id이지만 표시 값은 참조된 기록의 표시 필드입니다.
{#r_ScopedGlideRecordGetDisplayValue__ul_ok1_cbv_hsb}
{#r_ScopedGlideRecordGetDisplayValue__table_dgk_dtb_2r__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 없음 |   |   |
[표 43. 매개변수]

{#r_ScopedGlideRecordGetDisplayValue__table_dgk_dtb_2r} {#r_ScopedGlideRecordGetDisplayValue__table_qpt_3f5_jq__entry__2}

| 유형 | 설명 |
|-|-|
| 문자열 | 현재 기록의 값을 표시합니다. |
[표 44. 반환]

{#r_ScopedGlideRecordGetDisplayValue__table_qpt_3f5_jq}  
이 예시에서는 지정된 인시던트 기록의 표시 값을 로그에 씁니다.

    var now_GR = new GlideRecord('incident');
    now_GR.get('sys_id','<sys_id>');
    gs.info(now_GR.getDisplayValue());

출력:

    INC0000050

## 범위 지정된 GlideRecord - getED() {#ariaid-title24}

요소의 설명자를 반환합니다.
{#SGR-getED__table_xvc_xjq_fz__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 없음 |   |   |
[표 45. 매개변수]

{#SGR-getED__table_xvc_xjq_fz} {#SGR-getED__table_qpq_p2r_dt__entry__2}

| 유형 | 설명 |
|-|-|
| GlideElementDescriptor (영문) | 요소의 설명자입니다. |
[표 46. 반환]

{#SGR-getED__table_qpq_p2r_dt}  
이 예는 인시던트 GlideRecord의 이름 필드를 검색하는 방법을 보여줍니다.

    var grInc = new GlideRecord('incident');
    grInc.get('sys_id','ef43c6d40a0a0b5700c77f9bf387afe3');

    var field = grInc.getElement('priority');
    var ed = field.getED();

    var isEdge = ed.getLabel();
    gs.info("Label is - " + isEdge);

출력:

    Label is - Priority

## 범위 지정된 GlideRecord - getElement(String fieldName) {#ariaid-title25}

지정된 필드에 대한 GlideElement 객체를 조회합니다.
이 메서드에서 반환되는 값은 완전한 GlideElement 객체입니다. 결과는 필드 값을 닷워킹하는 것과 같습니다. 예를 들어 `, now_GR.getElement('short_description')` 는 `nowGR.short_description`와 동일한 결과를 제공합니다.

대부분의 경우 기록에서 값을 얻기 위해 닷워킹을 사용하지 마십시오. 닷워킹은 필드 값 대신 전체 객체를 검색합니다. 객체를 검색하면 더 많은 저장 공간이 사용되며 배열 또는 에서 서비스 포털사용할 때 바람직하지 않은 결과가 발생할 수 있습니다.

전체 객체를 검색하는 대신 다음 방법 중 하나를 사용하여 필드 값을 복사할 수 있습니다.  
* [getValue()를 호출합니다.](https://servicenow-prod.fluidtopics.net/2W~ifl1LvyXJ6zdY~n~R1Q#r_ScopedGlideRecordGetValue_String "필드에 있는 기본 요소의 문자열 값을 조회합니다.")
* [getDisplayValue()를 호출합니다.](https://servicenow-prod.fluidtopics.net/2W~ifl1LvyXJ6zdY~n~R1Q#r_ScopedGlideRecordGetDisplayValue "현재 기록의 표시 값을 검색합니다.")
{#r_ScopedGlideRecordGetElement_String__ul_lgx_d2d_zpb}  
GlideElement 객체를 통해 닷워킹을 진행해야 하는 경우 toString() 메서드를 사용하여 값을 검색합니다. 예를 들어, 다른 참조 필드를 설정하기 위해 현재 호출자의 관리자 sys_id 필요할 수 있습니다. 다음 예제에서는 전체 개체 대신 문자열 값을 가져오는 방법을 보여 줍니다.

    var mgr = current.caller_id.manager.toString();

참고 항목:

* [GlideElement -- toString()](https://servicenow-prod.fluidtopics.net/9pq9s8okV8LgLe~0OkyL9Q#r_ScopedGlideElementToString "GlideRecord 필드의 값을 문자열로 변환합니다.")
* [getElements()를 호출합니다.](https://servicenow-prod.fluidtopics.net/2W~ifl1LvyXJ6zdY~n~R1Q#SGR-getElements "GlideElement 객체의 배열을 반환합니다. 각 객체는 현재 GlideRecord의 필드를 설명합니다.")
{#r_ScopedGlideRecordGetElement_String__ul_mmb_3h3_npb}
{#r_ScopedGlideRecordGetElement_String__id_xzl_rpn_mpb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| fieldName | 문자열 | GlideElement 객체를 반환할 열 이름입니다. |
[표 47. 매개변수]

{#r_ScopedGlideRecordGetElement_String__id_xzl_rpn_mpb} {#r_ScopedGlideRecordGetElement_String__table_qpt_3f5_jq__entry__2}

| 유형 | 설명 |
|-|-|
| GlideElement (영문) | 현재 기록의 지정된 열에 대한 GlideElement입니다. 각 객체는 현재 GlideRecord의 필드를 설명합니다. |
[표 48. 반환]

{#r_ScopedGlideRecordGetElement_String__table_qpt_3f5_jq}  
다음 예는 간단한 설명 필드에 상세 정보를 사용하여 새 인시던트 기록을 추가하는 방법을 보여줍니다.

    var elementName = 'short_description'; 
    var now_GR = new GlideRecord('incident'); 
    now_GR.newRecord(); 
    now_GR.setValue(elementName, "My DB is not working");
    now_GR.insert();
     
    var sdesc = now_GR.getElement('short_description');
    gs.info(sdesc.getValue());

출력:

    My DB is not working

## 범위 지정된 GlideRecord - getElements() {#ariaid-title26}

GlideElement 객체의 배열을 반환합니다. 각 객체는 현재 GlideRecord의 필드를 설명합니다.
GlideElement 객체를 통해 닷워킹을 진행해야 하는 경우 toString() 메서드를 사용하여 값을 검색합니다. 예를 들어, 다른 참조 필드를 설정하기 위해 현재 호출자의 관리자 sys_id 필요할 수 있습니다. 다음 예제에서는 전체 개체 대신 문자열 값을 가져오는 방법을 보여 줍니다.

    var mgr = current.caller_id.manager.toString();

참고 항목:

* [GlideElement -- toString()](https://servicenow-prod.fluidtopics.net/9pq9s8okV8LgLe~0OkyL9Q#r_ScopedGlideElementToString "GlideRecord 필드의 값을 문자열로 변환합니다.")
* [getElement()를 호출합니다.](https://servicenow-prod.fluidtopics.net/2W~ifl1LvyXJ6zdY~n~R1Q#r_ScopedGlideRecordGetElement_String "지정된 필드에 대한 GlideElement 객체를 조회합니다.")
{#SGR-getElements__ul_mmb_3h3_npb}
{#SGR-getElements__table_qcv_tfp_pnb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 없음 |   |   |
[표 49. 매개변수]

{#SGR-getElements__table_qcv_tfp_pnb} {#SGR-getElements__table_rcv_tfp_pnb__entry__2}

| 유형 | 설명 |
|-|-|
| 배열 | [GlideElement](https://servicenow-prod.fluidtopics.net/9pq9s8okV8LgLe~0OkyL9Q#c_GlideElementScopedAPI "범위가 지정된 GlideElement API는 필드와 해당 값을 처리하기 위한 여러 가지 편리한 스크립트 메서드를 제공합니다. 범위가 지정된 GlideElement 메서드는 현재 Glide 기록의 필드에 사용할 수 있습니다.") 객체의 배열입니다. 각 객체는 현재 GlideRecord의 필드를 설명합니다. |
[표 50. 반환]

{#SGR-getElements__table_rcv_tfp_pnb}  
다음 예에서는 질문 \[question\] 테이블에서 가장 최근에 생성된 5개의 레코드에 대한 이름 필드의 값을 표시합니다.

    var now_GR = new GlideRecord('question');
    var elementArr = now_GR.getElements();
    now_GR.orderByDesc('sys_created_on');
    now_GR.setLimit(5);
    now_GR.query();

    while (now_GR.next()){
      var qNames = now_GR.name.toString();
      elementArr.push(qNames);
      gs.info(qNames);
    }

출력:

    delivery_time_var
    delivery_time
    sequence
    priority
    assigned_group

## 범위 지정된 GlideRecord - getEncodedQuery() {#ariaid-title27}

현재 결과 세트의 쿼리 조건을 인코딩된 쿼리 문자열로 조회합니다.
자세한 내용은 [인코딩된 쿼리 문자열을](https://www.servicenow.com/docs/access?context=c_EncodedQueryStrings&version=xanadu&pubname=xanadu-platform-user-interface&ft:locale=en-US) 참조하십시오 .{#r_ScopedGlideRecordGetEncodedQuery__link_encoded_query_strings}
{#r_ScopedGlideRecordGetEncodedQuery__table_pyd_dtb_2r__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 없음 |   |   |
[표 51. 매개변수]

{#r_ScopedGlideRecordGetEncodedQuery__table_pyd_dtb_2r} {#r_ScopedGlideRecordGetEncodedQuery__table_qpt_3f5_jq__entry__2}

| 유형 | 설명 |
|-|-|
| 문자열 |   |
[표 52. 반환]

{#r_ScopedGlideRecordGetEncodedQuery__table_qpt_3f5_jq}  

    var now_GR = new GlideRecord('incident'); 
    now_GR.addQuery('active', true);
    now_GR.addQuery('priority', 1); 
    now_GR.query(); 
    var encodedQuery = now_GR.getEncodedQuery(); 
    gs.info(encodedQuery);

출력:

    active=true^priority=1

## 범위 지정된 GlideRecord - getLabel() {#ariaid-title28}

필드의 레이블을 반환합니다.
{#SGR-getLabel__table_edc_vkq_fz__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 없음 |   |   |
[표 53. 매개변수]

{#SGR-getLabel__table_edc_vkq_fz} {#SGR-getLabel__table_fdc_vkq_fz__entry__2}

| 유형 | 설명 |
|-|-|
| 문자열 | 필드의 레이블 |
[표 54. 반환]

{#SGR-getLabel__table_fdc_vkq_fz}  

    template.print("Summary of Requested items:\n");  
    var now_GR = new GlideRecord("sc_req_item");
    now_GR.addQuery("request", current.sysapproval);
    now_GR.query();
    while(now_GR.next()) {
    var nicePrice = now_GR.price.toString();
      if (nicePrice != '') {
        nicePrice = parseFloat(nicePrice);
        nicePrice = nicePrice.toFixed(2);
      }
      template.print(now_GR.number + ":  " + now_GR.quantity + " X " + now_GR.cat_item.getDisplayValue() 
        + " at $" + nicePrice + " each \n");
      template.print("    Options:\n");
      for (key in now_GR.variables) {
      var now_V = now_GR.variables[key];
        if(now_V.getGlideObject().getQuestion().getLabel() != '') {
          template.space(4);
          template.print('     ' +  now_V.getGlideObject().getQuestion().getLabel() + " = " 
            + now_V.getDisplayValue() + "\n");  
        }
      }
    }

## 범위 지정된 GlideRecord - getLastErrorMessage() {#ariaid-title29}

마지막 오류 메시지를 검색합니다. 마지막 오류 메시지가 없으면 null이 반환됩니다.
{#r_ScopedGlideRecordGetLastErrorMessage__table_cfw_ctb_2r__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 없음 |   |   |
[표 55. 매개변수]

{#r_ScopedGlideRecordGetLastErrorMessage__table_cfw_ctb_2r} {#r_ScopedGlideRecordGetLastErrorMessage__table_qpt_3f5_jq__entry__2}

| 유형 | 설명 |
|-|-|
| 문자열 | 마지막 오류 메시지(문자열)입니다. |
[표 56. 반환]

{#r_ScopedGlideRecordGetLastErrorMessage__table_qpt_3f5_jq}  

    // Setup a data policy where short_description field in incident is mandatory
    var now_GR = new GlideRecord('incident');
    now_GR.insert(); // insert without data in mandatory field
    var errormessage = now_GR.getLastErrorMessage(); 
    gs.info(errormessage);

출력:

    Data Policy Exception: Short description is mandatory

## 범위 지정된 GlideRecord - getLink(부울 noStack) {#ariaid-title30}

현재 기록에 대한 링크를 검색합니다.
{#r_ScopedGlideRecordGetLink_Boolean__table_vy2_525_jq__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 노스택 | 부울 | 반환된 링크에 sysparm_stack 매개변수를 추가할지 여부를 나타내는 플래그입니다. 이 매개변수는 현재 링크를 닫은 후 방문할 페이지를 지정합니다. 유효한 값은 다음과 같습니다. * true: sysparm_stack 매개변수를 첨부하지 않습니다. * false: sysparm_stack 매개 변수를 연결합니다. {#r_ScopedGlideRecordGetLink_Boolean__ul_fsf_wpz_1nb}예일 경우 sysparm_stack 매개변수가 링크에 추가되지 않습니다. |
[표 57. 매개변수]

{#r_ScopedGlideRecordGetLink_Boolean__table_vy2_525_jq} {#r_ScopedGlideRecordGetLink_Boolean__table_qpt_3f5_jq__entry__2}

| 유형 | 설명 |
|-|-|
| 문자열 | 현재 기록에 대한 링크입니다. |
[표 58. 반환]

{#r_ScopedGlideRecordGetLink_Boolean__table_qpt_3f5_jq}  
이 예에서는 우선순위가 "1"인 모든 인시던트 기록을 쿼리하고 서블릿 URI와 현재 기록의 링크를 시스템 로그에 씁니다.

    var now_GR = new GlideRecord('incident');
    now_GR.addActiveQuery();
    now_GR.addQuery("priority", 1);
    now_GR.query();
    now_GR.next();
    gs.info(gs.getProperty('glide.servlet.uri') + now_GR.getLink(false));

출력:

    https://instance.service-now.com/incident.do?sys_id=46e2fee9a9fe19810049b49dee0daf58&sysparm_stack=incident_list.do?sysparm_query=active=true

## 범위 지정된 GlideRecord - getRecordClassName() {#ariaid-title31}

현재 기록의 클래스 이름을 검색합니다.
{#r_ScopedGlideRecordGetRecordClassName__table_srq_ctb_2r__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 없음 |   |   |
[표 59. 매개변수]

{#r_ScopedGlideRecordGetRecordClassName__table_srq_ctb_2r} {#r_ScopedGlideRecordGetRecordClassName__table_qpt_3f5_jq__entry__2}

| 유형 | 설명 |
|-|-|
| 문자열 | 클래스 이름입니다. |
[표 60. 반환]

{#r_ScopedGlideRecordGetRecordClassName__table_qpt_3f5_jq}  

    var now_GR = new GlideRecord('incident'); 
    var recordClassName = now_GR.getRecordClassName(); 
    gs.info(recordClassName);

출력:

    incident

## 범위 지정된 GlideRecord - getRowCount() {#ariaid-title32}

현재 GlideRecord 객체의 행(기록) 수를 검색합니다.
주:  
GlideRecord 는 일치하는 기록을 반환하므로 기록 수만 필요한 경우에는 GlideAggregate 만큼 효율적이지 않을 수 있습니다. 기록 수만 필요하고 일치하는 기록을 반복하지 않는 경우 GlideAggregate를 사용합니다.  

GlideRecord 또는 GlideAggregate에서 번호 기록 검색
:   GlideRecord getRowCount() 및 [GlideAggregate getAggregate()](https://servicenow-prod.fluidtopics.net/yFmUVNHmJasWThEBKTdGiw#c_GlideAggregateScopedAPI "GlideAggregate API를 사용하면 데이터베이스 집계 쿼리를 만들 수 있습니다.") API도 유사한 정보를 제공합니다. 다음 기준을 사용하여 가장 적합한 옵션을 결정합니다.

    * GlideRecord getRowCount() 메서드는 기록 자체와 함께 쿼리에서 반환된 기록 수를 알려줍니다. 레코드에 대한 작업을 수행하기 위해 집합을 반복하기 전이나 후에 결과 집합의 레코드 수가 필요한 경우 이 방법을 사용합니다.
    * GlideAggregate getAggregate() 메서드는 실제 기록을 제외하고 쿼리와 일치하는 기록 수만 검색합니다. 쿼리를 실행하기 전에 GlideAggregate 객체에서 집계를 설정해야 합니다.
    {#r_ScopedGlideRecordGetRowCount__ul_wdq_fmn_nyb}
:   GlideRecord getRowCount()를 사용하여 기록 및 카운트 검색  
    다음 예는 GlideRecord getRowCount()로 총 활성 인시던트 수를 가져오는 방법을 보여줍니다.

        var incident = new GlideRecord("incident");
        incident.addQuery("active", true);
        incident.query();
         
        gs.info("*** Total number of active incidents: {0}", incident.getRowCount());

:   GlideAggregate getAggregate()를 사용하여 기록 수만 검색  
    다음 예제에서는 레코드 수만 반환하는 방법을 보여 줍니다. 이 메서드는 일치하는 레코드를 사용하지 않기 때문에 집계 쿼리를 사용하고 개수만 반환하는 것이 훨씬 더 효율적입니다.

        var incident = new GlideAggregate("incident");
        incident.addQuery("active", true);
        incident.addAggregate("COUNT");
        incident.query();
         
        if (incident.next())
            gs.info("*** Total number of active incidents: {0}", incident.getAggregate("COUNT"));

:   솔루션에 가장 적합한 옵션 결정

    기록 수만 검색하려는 경우 GlideAggregate getAggregate() 메서드가 가장 좋습니다. 개별 기록을 사용하고 결과 수를 검색하려면 단일 쿼리가 이 기능을 제공하므로 GlideRecord getRowCount()를 사용합니다.
{#r_ScopedGlideRecordGetRowCount__table_dxv_hkr_dt__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 없음 |   |   |
[표 61. 매개변수]

{#r_ScopedGlideRecordGetRowCount__table_dxv_hkr_dt} {#r_ScopedGlideRecordGetRowCount__table_exv_hkr_dt__entry__2}

| 유형 | 설명 |
|-|-|
| 번호 | 현재 GlideRecord의 행 수입니다. |
[표 62. 반환]

{#r_ScopedGlideRecordGetRowCount__table_exv_hkr_dt}  
다음 예시는 인시던트 \[incident\] 테이블에서 인시던트 수를 가져오는 방법을 보여줍니다.

    var numberOfIncidents = new GlideRecord('incident');
    numberOfIncidents.query();
    gs.info("Records in incident table: " + numberOfIncidents.getRowCount());

출력:

    Records in incident table: 6920

## 범위 지정된 GlideRecord - getTableName() {#ariaid-title33}

GlideRecord와 연결된 테이블의 이름을 조회합니다.
{#r_ScopedGlideRecordGetTableName__table_z5p_btb_2r__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 없음 |   |   |
[표 63. 매개변수]

{#r_ScopedGlideRecordGetTableName__table_z5p_btb_2r} {#r_ScopedGlideRecordGetTableName__table_qpt_3f5_jq__entry__2}

| 유형 | 설명 |
|-|-|
| 문자열 | 테이블 이름 |
[표 64. 반환]

{#r_ScopedGlideRecordGetTableName__table_qpt_3f5_jq}  

    var now_GR = new GlideRecord('incident');
    gs.info(now_GR.getTableName());

## 범위 지정된 GlideRecord - getUniqueValue() {#ariaid-title34}

달리 지정하지 않는 한 일반적으로 sys_id인 레코드의 기본 키를 가져옵니다.
{#r_ScopedGlideRecordGetUniqueValue__table_t5k_btb_2r__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 없음 |   |   |
[표 65. 매개변수]

{#r_ScopedGlideRecordGetUniqueValue__table_t5k_btb_2r} {#r_ScopedGlideRecordGetUniqueValue__table_qpt_3f5_jq__entry__2}

| 유형 | 설명 |
|-|-|
| 문자열 | String으로서의 고유 기본 키 또는 키가 null인 경우 null입니다. |
[표 66. 반환]

{#r_ScopedGlideRecordGetUniqueValue__table_qpt_3f5_jq}  

    var now_GR = new GlideRecord('kb_knowledge');
    now_GR.query();
    now_GR.next();
    var uniqueid = now_GR.getUniqueValue();
    gs.info(uniqueid);

## 범위 지정된 GlideRecord - getValue(문자열 이름) {#ariaid-title35}

필드에 있는 기본 요소의 문자열 값을 조회합니다.
주:  
플러그인이 열 수준 암호화 엔터프라이즈 활성화되어 있고 인스턴스가 키에 액세스할 수 있는 경우 이 메서드는 암호화된 필드에서 일반 텍스트 값을 반환합니다. 인스턴스에 키에 대한 액세스 권한이 없는 경우 이 메서드는 암호화된 값을 반환합니다. 자세한 내용은 [Platform Encryption](https://www.servicenow.com/docs/access?context=now-platform-encryption&version=xanadu&pubname=xanadu-platform-security&ft:locale=en-US)을 참조하십시오.
{#r_ScopedGlideRecordGetValue_String__table_vy2_525_jq__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 이름 | 문자열 | 값을 가져올 필드의 이름입니다. |
[표 67. 매개변수]

{#r_ScopedGlideRecordGetValue_String__table_vy2_525_jq} {#r_ScopedGlideRecordGetValue_String__table_qpt_3f5_jq__entry__2}

| 유형 | 설명 |
|-|-|
| 문자열 | 기본 요소의 문자열 값입니다. 필드가 비어 있거나 존재하지 않는 경우 null을 반환합니다. 부울 값은 false 및 true 대신 <kbd class="ph userinput">"0"</kbd> 및 <kbd class="ph userinput">"1"</kbd> 문자열 값으로 반환됩니다. |
[표 68. 반환]

{#r_ScopedGlideRecordGetValue_String__table_qpt_3f5_jq}  

    var now_GR = new GlideRecord('incident'); 
    now_GR.orderBy('number');
    now_GR.query('active','true'); 
    now_GR.next(); 
    gs.info(now_GR.getValue('number'));

출력:

    INC0000002

## 범위 지정된 GlideRecord - GlideRecord(String tableName) {#ariaid-title36}

지정된 테이블에 대한 GlideRecord 클래스의 인스턴스를 만듭니다.
{#r_ScopedGlideRecordGlideRecord_S__table_hlc_w5j_3v__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| tableName | 문자열 | 사용할 테이블입니다. |
[표 69. 매개변수]

{#r_ScopedGlideRecordGlideRecord_S__table_hlc_w5j_3v}  

    var now_GR = new GlideRecord('incident');

## 범위 지정된 GlideRecord - hasNext() {#ariaid-title37}

GlideRecord 객체에 기록이 더 있는지 확인합니다.
{#r_ScopedGlideRecordHasNext__table_nmb_btb_2r__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 없음 |   |   |
[표 70. 매개변수]

{#r_ScopedGlideRecordHasNext__table_nmb_btb_2r} {#r_ScopedGlideRecordHasNext__table_qpt_3f5_jq__entry__2}

| 유형 | 설명 |
|-|-|
| 부울 | 쿼리 결과 집합에 더 많은 기록이 있는 경우 True입니다. |
[표 71. 반환]

{#r_ScopedGlideRecordHasNext__table_qpt_3f5_jq}  

    var rec = new GlideRecord('incident'); 
    rec.query(); 
    if (rec.hasNext()) { 
      gs.info("Table is not empty"); 
    }

## 범위 지정된 GlideRecord - insert() {#ariaid-title38}

현재 기록에 대해 설정된 필드 값을 사용하여 새 기록을 삽입합니다.
{#r_ScopedGlideRecordInsert__table_sks_1tb_2r__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 없음 |   |   |
[표 72. 매개변수]

{#r_ScopedGlideRecordInsert__table_sks_1tb_2r} {#r_ScopedGlideRecordInsert__table_qpt_3f5_jq__entry__2}

| 유형 | 설명 |
|-|-|
| 문자열 | 삽입된 기록의 Sys_id이거나 기록이 삽입되지 않은 경우 null입니다. |
[표 73. 반환]

{#r_ScopedGlideRecordInsert__table_qpt_3f5_jq}  

    var now_GR = new GlideRecord('incident');
    now_GR.initialize();
    now_GR.setValue('name', 'New Incident');
    now_GR.setValue('description', 'Incident description');
    now_GR.insert();

출력:

    138fb4111b4d4d907cf30d03cd4bcb57

## 범위 지정된 GlideRecord - initialize() {#ariaid-title39}

삽입 전에 채우기에 적합한 빈 기록을 작성합니다.
{#r_ScopedGlideRecordInitialize__table_onw_1tb_2r__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 없음 |   |   |
[표 74. 매개변수]

{#r_ScopedGlideRecordInitialize__table_onw_1tb_2r} {#r_ScopedGlideRecordInitialize__table_gnr_mtb_2r__entry__2}

| 유형 | 설명 |
|-|-|
| void |   |
[표 75. 반환]

{#r_ScopedGlideRecordInitialize__table_gnr_mtb_2r}  

    var grIncident = new GlideRecord('incident');
    grIncident.initialize();
    grIncident.setValue('short_description', 'New Incident');
    grIncident.setValue('description', 'Incident description');
    grIncident.insert();

## 범위 지정된 GlideRecord - isActionAborted() {#ariaid-title40}

현재 데이터베이스 동작이 중단될 것인지 확인합니다.
isActionAborted() 는 새 스레드에 대해 next() 메서드에 의해 초기화(false로 설정)됩니다.
{#r_ScopedGlideRecordIsActionAborted__table_gqg_mvt_vr__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 없음 |   |   |
[표 76. 매개변수]

{#r_ScopedGlideRecordIsActionAborted__table_gqg_mvt_vr} {#r_ScopedGlideRecordIsActionAborted__table_hqg_mvt_vr__entry__2}

| 유형 | 설명 |
|-|-|
| 부울 | 현재 데이터베이스 작업을 중단할지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다. * true: 현재 데이터베이스 작업을 중단합니다. * false: 현재 데이터베이스 동작을 중단하지 않습니다. {#r_ScopedGlideRecordIsActionAborted__ul_l5r_kjq_kpb} |
[표 77. 반환]

{#r_ScopedGlideRecordIsActionAborted__table_hqg_mvt_vr}  

    var now_GR = new GlideRecord('incident');
     
    gs.info(now_GR.isActionAborted());

출력:

    false

## 범위 지정 GlideRecord - isEncodedQueryValid(문자열 쿼리) {#ariaid-title41}

지정된 인코딩된 쿼리가 유효한지 여부를 확인합니다.
지정된 인코딩된 쿼리가 유효하면 [addEncodedQuery()](https://servicenow-prod.fluidtopics.net/2W~ifl1LvyXJ6zdY~n~R1Q#r_ScopedGlideRecordAddEncodedQuery_String "설정되었을 수 있는 다른 쿼리에 인코딩된 쿼리를 추가합니다.")를 호출한 것처럼 쿼리가 적용됩니다. 지정된 인코딩된 쿼리가 유효하지 않으면 `sys_idNotValidnull` 인코딩된 쿼리로 추가됩니다.  
주:  
이 메서드는 더 이상 사용되지 않으며 쿼리를 실행하지 않는 [isValidEncodedQuery()](https://servicenow-prod.fluidtopics.net/2W~ifl1LvyXJ6zdY~n~R1Q#SGR-isValidEncodedQuery_S "인코딩된 쿼리의 구문이 올바른지 확인합니다.") 메서드로 대체되었습니다.
{#SGR-isEncodedQueryValid_S__table_nbb_bv4_2gb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 쿼리 | 문자열 | 유효성을 검사할 인코딩된 쿼리입니다. [인코딩된 쿼리 문자열을](https://www.servicenow.com/docs/access?context=c_EncodedQueryStrings&version=xanadu&pubname=xanadu-platform-user-interface&ft:locale=en-US) 참조하세요. |
[표 78. 매개변수]

{#SGR-isEncodedQueryValid_S__table_nbb_bv4_2gb} {#SGR-isEncodedQueryValid_S__table_obb_bv4_2gb__entry__2}

| 유형 | 설명 |
|-|-|
| 부울 | 지정된 인코딩된 쿼리가 유효한지 여부를 나타내는 플래그입니다. * true: 전달된 인코딩된 쿼리가 유효합니다. * false: 전달된 인코딩된 쿼리가 잘못되었습니다. |
[표 79. 반환]

{#SGR-isEncodedQueryValid_S__table_obb_bv4_2gb}  
이 코드 예제에서는 인코딩된 쿼리의 유효성을 검사한 다음 쿼리가 유효한 경우 논리를 실행하는 방법을 보여 줍니다.

    var now_GR = new GlideRecord('incident_sla');
    var isValidQuery = now_GR.isEncodedQueryValid('inc_impact=1^taskslatable_active=true');
    if (isValidQuery) {
      now_GR.query();
      .
      .
      .
    }

## 범위 지정된 GlideRecord - isNewRecord() {#ariaid-title42}

현재 기록이 데이터베이스에 아직 삽입되지 않은 새 기록인지 확인합니다.
{#r_ScopedGlideRecordIsNewRecord__table_lhn_1tb_2r__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 없음 |   |   |
[표 80. 매개변수]

{#r_ScopedGlideRecordIsNewRecord__table_lhn_1tb_2r} {#r_ScopedGlideRecordIsNewRecord__table_qpt_3f5_jq__entry__2}

| 유형 | 설명 |
|-|-|
| 부울 | 레코드가 새 레코드이고 데이터베이스에 삽입되지 않은 경우 True입니다. |
[표 81. 반환]

{#r_ScopedGlideRecordIsNewRecord__table_qpt_3f5_jq}  

    var now_GR = new GlideRecord("x_app_table"); 
    now_GR.newRecord(); // create a new record and populate it with default values
    gs.info(now_GR.isNewRecord());

## 범위 지정된 GlideRecord - isValid() {#ariaid-title43}

현재 테이블이 유효한지 또는 기록이 성공적으로 검색되었는지 여부를 결정합니다.
{#r_ScopedGlideRecordIsValid__table_ub3_1tb_2r__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 없음 |   |   |
[표 82. 매개변수]

{#r_ScopedGlideRecordIsValid__table_ub3_1tb_2r} {#r_ScopedGlideRecordIsValid__table_qpt_3f5_jq__entry__2}

| 유형 | 설명 |
|-|-|
| 부울 | 테이블이 유효한지 또는 기록이 성공적으로 검색되었는지 여부를 나타내는 플래그입니다. 가능한 값: * true: 테이블이 유효하거나 기록이 성공적으로 검색되었습니다. * 아니오: 테이블이 잘못되었거나 기록을 성공적으로 검색하지 못했습니다. {#r_ScopedGlideRecordIsValid__ul_rr1_3m4_pnb} |
[표 83. 반환]

{#r_ScopedGlideRecordIsValid__table_qpt_3f5_jq}  

    var comment_GR = new GlideRecord('cf_comment');
    var commentId = '99ebb4156fa831005be8883e6b3ee4b9';
    comment_GR.get(commentId);
    gs.info(comment_GR.isValid());

## 범위 지정 GlideRecord - isValidEncodedQuery(문자열 쿼리) {#ariaid-title44}

인코딩된 쿼리의 구문이 올바른지 확인합니다.
빈 문자열(`""`)을 provide 쿼리로 전달할 때:

* 빈 문자열(`""`)은 쿼리가 없음을 나타내며 false를 반환합니다.
* `GlideRecord.addEncodedQuery("")를` 호출한 다음 `GlideRecord.query()`를 호출하면 모든 행이 반환됩니다. 쿼리 방법은 SQL SELECT 문과 유사합니다. SQL에서 "SELECT \* FROM foo WHERE X"를 사용할 때 값 X는 쿼리를 나타냅니다. 쿼리 값이 제공되지 않으면 모든 레코드가 반환됩니다(예: SELECT \* FROM foo).
{#SGR-isValidEncodedQuery_S__ul_trc_ldy_hcc}
{#SGR-isValidEncodedQuery_S__table_urg_zqs_j5b__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 쿼리 | 문자열 | 유효성을 검사할 인코딩된 쿼리입니다. [인코딩된 쿼리 문자열을](https://www.servicenow.com/docs/access?context=c_EncodedQueryStrings&version=xanadu&pubname=xanadu-platform-user-interface&ft:locale=en-US) 참조하세요. |
[표 84. 매개변수]

{#SGR-isValidEncodedQuery_S__table_urg_zqs_j5b} {#SGR-isValidEncodedQuery_S__table_vrg_zqs_j5b__entry__2}

| 유형 | 설명 |
|-|-|
| 부울 | 지정된 인코딩된 쿼리가 유효한지 여부를 나타내는 플래그입니다. * true: 전달된 인코딩된 쿼리가 유효합니다. * false: 전달된 인코딩된 쿼리가 잘못되었습니다. {#SGR-isValidEncodedQuery_S__ul_xcw_xcy_hcc} |
[표 85. 반환]

{#SGR-isValidEncodedQuery_S__table_vrg_zqs_j5b}  
이 코드 예제에서는 인코딩된 쿼리가 유효한지 확인하는 방법을 보여 줍니다.

    var queryString = "priority=1^ORpriority=2";
    var now_GR = new GlideRecord('incident');
    var isValidQuery = now_GR.isValidEncodedQuery(queryString);
    if (isValidQuery) {
      now_GR.addEncodedQuery(queryString);
      now_GR.query();
      .
      .
      .
    }

## 범위 지정된 GlideRecord - isValidField(String columnName) {#ariaid-title45}

지정된 필드가 현재 테이블에 정의되어 있는지 여부를 결정합니다.
{#r_ScopedGlideRecordIsValidField__table_vy2_525_jq__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| columnName | 문자열 | 필드의 이름입니다. |
[표 86. 매개변수]

{#r_ScopedGlideRecordIsValidField__table_vy2_525_jq} {#r_ScopedGlideRecordIsValidField__table_qpt_3f5_jq__entry__2}

| 유형 | 설명 |
|-|-|
| 부울 | 필드가 현재 테이블에 대해 정의되면 예입니다. |
[표 87. 반환]

{#r_ScopedGlideRecordIsValidField__table_qpt_3f5_jq}  

    var now_GR = new GlideRecord('incident'); 
    now_GR.initialize(); 
    gs.info(now_GR.isValidField("short_description"));

## 범위 지정된 GlideRecord - isValidRecord() {#ariaid-title46}

쿼리/기록 가져오기 작업에서 기록이 실제로 반환되었는지 여부를 결정합니다.
{#r_ScopedGlideRecordIsValidRecord__table_o1w_zsb_2r__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 없음 |   |   |
[표 88. 매개변수]

{#r_ScopedGlideRecordIsValidRecord__table_o1w_zsb_2r} {#r_ScopedGlideRecordIsValidRecord__table_qpt_3f5_jq__entry__2}

| 유형 | 설명 |
|-|-|
| 부울 | 쿼리/가져오기 작업에서 기록이 실제로 반환되었는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다. * true: 쿼리/가져오기 작업에 의해 반환된 기록입니다. * false: 기록 세트의 끝, 반환된 기록 없음. {#r_ScopedGlideRecordIsValidRecord__ul_xzx_jnh_s3b} |
[표 89. 반환]

{#r_ScopedGlideRecordIsValidRecord__table_qpt_3f5_jq}  

    var rec = new GlideRecord('incident');
    rec.query();
    while (rec.next()) { 
      gs.info(rec.number + ' exists');
    }
    gs.info(rec.isValidRecord());

## 범위 지정된 GlideRecord - isView() {#ariaid-title47}

기록이 뷰 또는 테이블에서 생성되었는지 확인합니다.
{#SGR-isView__table_nbb_bv4_2gb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 없음 |   |   |
[표 90. 매개변수]

{#SGR-isView__table_nbb_bv4_2gb} {#SGR-isView__table_obb_bv4_2gb__entry__2}

| 유형 | 설명 |
|-|-|
| 부울 | 뷰인 테이블에 기록이 작성되었는지 여부를 나타내는 플래그입니다. * true: 뷰에 기록이 생성되었습니다. * false: 테이블에 기록이 생성되었습니다. |
[표 91. 반환]

{#SGR-isView__table_obb_bv4_2gb}  
이 코드 예제에서는 GlideRecord가 뷰 또는 테이블에서 만들어졌는지 확인하는 방법을 보여 줍니다.

    var mySLA = new GlideRecord('incident_sla');

    if (mySLA.isView() == true){
       gs.info('This record was created in a view.');
    } else {
       gs.info('This record was created in a table.');
    }

출력:

    This record was created in a view.

## 범위 지정된 GlideRecord - newRecord() {#ariaid-title48}

새 GlideRecord 기록을 만들고, 필드의 기본값을 설정하고, 기록에 고유 ID를 할당합니다.
{#r_ScopedGlideRecordNewRecord__table_ls4_zsb_2r__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 없음 |   |   |
[표 92. 매개변수]

{#r_ScopedGlideRecordNewRecord__table_ls4_zsb_2r} {#r_ScopedGlideRecordNewRecord__table_sgv_ktb_2r__entry__2}

| 유형 | 설명 |
|-|-|
| void |   |
[표 93. 반환]

{#r_ScopedGlideRecordNewRecord__table_sgv_ktb_2r}  

    var now_GR = new GlideRecord("x_app_table"); 
    now_GR.newRecord(); 
    gs.info(now_GR.isNewRecord());

출력:

    true

## 범위 지정된 GlideRecord - next() {#ariaid-title49}

GlideRecord 객체의 다음 기록으로 이동합니다.
주:  
테이블에 "next"라는 필드가 있는 경우 이 메서드는 실패합니다. 이 경우 [_next()](https://servicenow-prod.fluidtopics.net/2W~ifl1LvyXJ6zdY~n~R1Q#SGR-_next "GlideRecord의 다음 기록으로 이동합니다. next()와 동일한 기능을 제공합니다. GlideRecord에 next라는 열이 있는 경우 이 메서드를 사용합니다.") 메서드를 사용합니다.
{#r_ScopedGlideRecordNext__table_nmg_zsb_2r__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 없음 |   |   |
[표 94. 매개변수]

{#r_ScopedGlideRecordNext__table_nmg_zsb_2r} {#r_ScopedGlideRecordNext__table_qpt_3f5_jq__entry__2}

| 유형 | 설명 |
|-|-|
| 부울 | GlideRecord에 "다음" 기록이 있는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다. * true: 다음 기록으로 이동에 성공했습니다. * false: 결과 집합에 레코드가 더 이상 없습니다. {#r_ScopedGlideRecordNext__ul_anq_km4_s3b} |
[표 95. 반환]

{#r_ScopedGlideRecordNext__table_qpt_3f5_jq}  

    var rec = new GlideRecord('incident');
    rec.query();
    while (rec.next()) {
     gs.info(rec.getValue('number') + ' exists');
    }

출력:

    INC0010112 exists
    INC0010114 exists
    INC0010119 exists
    INC0010127 exists

## 범위 지정된 GlideRecord - _next() {#ariaid-title50}

GlideRecord의 다음 기록으로 이동합니다. next()와 동일한 기능을 제공합니다. GlideRecord에 next라는 열이 있는 경우 이 메서드를 사용합니다.
{#SGR-_next__table_e3x_4yj_my__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 없음 |   |   |
[표 96. 매개변수]

{#SGR-_next__table_e3x_4yj_my} {#SGR-_next__table_f3x_4yj_my__entry__2}

| 유형 | 설명 |
|-|-|
| 부울 | 쿼리 세트에 더 많은 기록이 있는지 여부를 나타내는 플래그입니다. 가능한 값: * true: 쿼리 세트에 더 많은 레코드가 있습니다. * false: 쿼리 세트에 더 이상 기록이 없습니다. {#SGR-_next__ul_nzg_xkm_knb} |
[표 97. 반환]

{#SGR-_next__table_f3x_4yj_my}  
다음 예에서는 인시던트 \[incident\] 테이블에 각 기록을 나열하는 방법을 보여줍니다.

    var rec = new GlideRecord('incident');
    rec.query();
    while (rec._next()) {
      gs.info(rec.getValue('number') + ' exists');
    }

출력:

    INC0000060 exists
    INC0009002 exists
    INC0000009 exists
    INC0000010 exists
    INC0000011 exists
    INC0000012 exists
    ...

## 범위 지정된 GlideRecord - operation() {#ariaid-title51}

작업이 삽입, 업데이트 또는 삭제인지 여부를 결정합니다.
작업을 알면 current.operation() 을 사용하여 각 작업을 고유하게 처리할 수 있는 일반 비즈니스 규칙을 만들 수 있습니다.

전역 변수 current 사용에 대한 자세한 내용은 [비즈니스 규칙의 전역 변수를](https://www.servicenow.com/docs/access?context=c_BusinessRules&version=xanadu&pubname=xanadu-application-development&section=c_UsingPredefinedGlobalVariables&ft:locale=en-US) 참조하십시오.
{#r_ScopedGlideRecordOperation__table_tfc_zsb_2r__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 없음 |   |   |
[표 98. 매개변수]

{#r_ScopedGlideRecordOperation__table_tfc_zsb_2r} {#r_ScopedGlideRecordOperation__gr-operation-returns__entry__2}

| 유형 | 설명 |
|-|-|
| 문자열 | 현재 작업입니다. 가능한 값: * 삭제 * 삽입 * 업데이트 {#r_ScopedGlideRecordOperation__ul_bnp_xs3_bpb} |
[표 99. 반환]

{#r_ScopedGlideRecordOperation__gr-operation-returns}  
다음 예시에서는 비즈니스 규칙에서 이 메서드를 사용하는 방법을 보여줍니다. operation() 메서드는 이벤트를 트리거한 작업을 감지하고 업데이트 및 삽입 작업에 따라 다른 작업을 수행합니다.

    if(current.operation() == "update") {
      current.updates ++; } 
    if(current.operation() == "insert") {
      current.updates = 0; }

## 범위 지정된 GlideRecord - orderBy(문자열 이름) {#ariaid-title52}

orderBy 열을 지정합니다.
이 메서드를 두 번 이상 호출하여 여러 열을 기준으로 정렬합니다. 결과는 오름차순으로 정렬됩니다. 기록을 내림차순으로 정렬하려면 다음 문서를 참조하십시오 [범위 지정된 GlideRecord - orderByDesc(문자열 이름)](https://servicenow-prod.fluidtopics.net/2W~ifl1LvyXJ6zdY~n~R1Q#r_ScopedGlideRecordOrderByDesc_String "내림차순 orderBy 열을 지정합니다.").
{#r_ScopedGlideRecordOrderBy_String__table_vy2_525_jq__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 이름 | 문자열 | 이 GlideRecord 객체의 기록을 정렬하는 데 사용할 열 이름입니다. |
[표 100. 매개변수]

{#r_ScopedGlideRecordOrderBy_String__table_vy2_525_jq} {#r_ScopedGlideRecordOrderBy_String__table_ts3_ktb_2r__entry__2}

| 유형 | 설명 |
|-|-|
| void |   |
[표 101. 반환]

{#r_ScopedGlideRecordOrderBy_String__table_ts3_ktb_2r}  
다음 예는 인시던트 기록을 짧은 설명에 따라 오름차순으로 정렬하는 방법을 보여줍니다.

    var queryString = "priority=2";
    var now_GR = new GlideRecord('incident');
    now_GR.orderBy('short_description'); // Ascending Order
    now_GR.addEncodedQuery(queryString);
    now_GR.query();
    while (now_GR.next()) {
      gs.info(now_GR.getValue('short_description'));
    }

출력:

    Can't launch 64-bit Windows 7 virtual machine
    Can't log into SAP from my laptop today
    Network storage unavailable
    Please remove the latest hotfix from my PC

## 범위 지정된 GlideRecord - orderByDesc(문자열 이름) {#ariaid-title53}

내림차순 orderBy 열을 지정합니다.
이 메서드를 두 번 이상 호출하여 여러 열을 기준으로 정렬합니다. 결과는 내림차순으로 정렬됩니다. 기록을 오름차순으로 정렬하려면 을 참조하십시오 [범위 지정된 GlideRecord - orderBy(문자열 이름)](https://servicenow-prod.fluidtopics.net/2W~ifl1LvyXJ6zdY~n~R1Q#r_ScopedGlideRecordOrderBy_String "orderBy 열을 지정합니다.").
{#r_ScopedGlideRecordOrderByDesc_String__table_vy2_525_jq__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 이름 | 문자열 | GlideRecord 객체에서 기록을 정렬하는 데 사용할 열 이름입니다. |
[표 102. 매개변수]

{#r_ScopedGlideRecordOrderByDesc_String__table_vy2_525_jq} {#r_ScopedGlideRecordOrderByDesc_String__table_lpd_ktb_2r__entry__2}

| 유형 | 설명 |
|-|-|
| void |   |
[표 103. 반환]

{#r_ScopedGlideRecordOrderByDesc_String__table_lpd_ktb_2r}  
다음 예는 인시던트 기록을 짧은 설명에 따라 내림차순으로 정렬하는 방법을 보여줍니다.

    var queryString = "priority=2";
    var now_GR = new GlideRecord('incident');
    now_GR.orderByDesc('short_description'); //Descending Order
    now_GR.addEncodedQuery(queryString);
    now_GR.query();
    while (now_GR.next()) {
      gs.info(now_GR.getValue('short_description'));
    }

출력:

    Please remove the latest hotfix from my PC
    Network storage unavailable
    Can't log into SAP from my laptop today
    Can't launch 64-bit Windows 7 virtual machine

## 범위 지정된 GlideRecord - query(문자열 필드, 문자열 값) {#ariaid-title54}

addQuery() 및 addEncodedQuery()와 같은 쿼리 메서드로 지정된 필터를 기반으로 테이블에 대해 쿼리를 실행합니다.
이 메서드는 GlideRecord 테이블과 테이블의 참조를 쿼리합니다. 자세한 정보는 [스크립트에서 테이블 쿼리의 내용을 참조하십시오](https://servicenow-prod.fluidtopics.net/mpfGgZpkwp6yx_5wdXMe9g#c_UsingGlideRecordToQueryTables "GlideRecord API의 메서드를 사용하여 테이블에서 모든 기록을 반환하거나, 특정 조건을 만족하는 테이블에서 기록을 반환하거나, 단일 테이블 또는 텍스트 인덱스 그룹의 여러 테이블에서 문자열을 포함하는 기록을 반환할 수 있습니다.").  
주:  
테이블에 "query"라는 필드가 있는 경우 이 메서드는 실패합니다. 이 경우 [대신_query()](https://servicenow-prod.fluidtopics.net/2W~ifl1LvyXJ6zdY~n~R1Q#SGR-_query_O_O "addQuery() 및 addEncodedQuery()와 같은 쿼리 메서드로 지정된 필터를 기반으로 테이블에 대해 쿼리를 실행합니다. 이 메서드는 query() 메서드를 실행하는 동안 오류가 발생할 수 있는 \"query\"라는 열이 있는 테이블에서 사용하기 위한 것입니다.") 메서드를 사용하십시오.

쿼리 작성 및 실행에 대한 자세한 내용은 [GlideRecord](https://developer.servicenow.com/dev.do#!/learn/courses/utah/app_store_learnv2_scripting_utah_scripting_in_servicenow/app_store_learnv2_scripting_utah_server_side_scripting/app_store_learnv2_scripting_utah_gliderecord) 문서를 참조하십시오.  
참고 항목:

* [GlideAggregate - 범위 지정됨](https://servicenow-prod.fluidtopics.net/yFmUVNHmJasWThEBKTdGiw#c_GlideAggregateScopedAPI "GlideAggregate API를 사용하면 데이터베이스 집계 쿼리를 만들 수 있습니다.")
* [GlideQuery - 범위, 전역](https://servicenow-prod.fluidtopics.net/tkBMAt54EDcNiTXYcFWJqQ#GlideQueryGlobalAPI "GlideQuery 스크립트 포함은 서버 측 스크립트의 기록 데이터에 대한 CRUD 작업을 수행하기 위한 GlideRecord API의 대안입니다.")
* [GlideQueryCondition - 범위 지정됨](https://servicenow-prod.fluidtopics.net/FBxi80w4mYNPdaEq3ldWlA#c_GlideQueryConditionScopedAPI "범위가 지정된 GlideQueryCondition API는 현재 조건에 추가할 수 있는 추가 AND 또는 OR 조건을 제공하므로 복잡한 쿼리를 작성할 수 있습니다.")
{#r_ScopedGlideRecordQuery_Object_Object__ul_u5g_4gd_lpb}
{#r_ScopedGlideRecordQuery_Object_Object__id_nxt_s5d_lpb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 이름 | 문자열 | 선택 사항 - 값 매개변수도 지정해야 합니다. 값 매개변수에 지정된 값을 검색할 필드의 이름입니다. 주: 이 메서드는 일반적으로 인수 없이 실행되지만, 지정된 값을 포함하는 레코드를 필터링하기 위해 이름-값 쌍을 지정할 수 있습니다. 매개변수가 지정되면 "name=value" 조건이 쿼리에 추가됩니다. |
| 값 | 문자열 | 선택 사항 - 필드 매개변수도 지정해야 합니다. 지정된 필드 매개변수에서 검색할 값입니다. |
[표 104. 매개변수]

{#r_ScopedGlideRecordQuery_Object_Object__id_nxt_s5d_lpb} {#r_ScopedGlideRecordQuery_Object_Object__table_bkz_jtb_2r__entry__2}

| 유형 | 설명 |
|-|-|
| void |   |
[표 105. 반환]

{#r_ScopedGlideRecordQuery_Object_Object__table_bkz_jtb_2r}  
다음 예에서는 시스템 딕셔너리 \[sys_dictionary\]에서 쿼리 필드가 있는 테이블을 검색하는 방법을 보여 줍니다.

    var tableArr = [];

    var now_GR = new GlideRecord('sys_dictionary');
    now_GR.addQuery('element', 'query');
    now_GR.setLimit(6);

    now_GR.query();

    while(now_GR.next()){
       tableArr.push(now_GR.name.getValue());
    };

    gs.info('The following tables have a field column called "query":');

    for (i = 0; i < tableArr.length; i++) {
       gs.info(tableArr[i]);
    };

출력:

    The following tables have a field column called "query":
    cmdb_convert_bulk_services
    cmdb_multisource_query_status
    cmdb_qb_result_base
    cmdb_qb_table_mapping
    discovery_probes_cim_query
    kb_feedback

## 범위 지정된 GlideRecord - _query(문자열 필드, 문자열 값) {#ariaid-title55}

addQuery() 및 addEncodedQuery()와 같은 쿼리 메서드로 지정된 필터를 기반으로 테이블에 대해 쿼리를 실행합니다.
이 메서드는 query() 메서드를 실행하는 동안 오류가 발생할 수 있는 "query"라는 열이 있는 테이블에서 사용하기 위한 것입니다.
이 메서드는 GlideRecord 테이블과 테이블의 참조를 쿼리합니다. 자세한 정보는 [스크립트에서 테이블 쿼리의 내용을 참조하십시오](https://servicenow-prod.fluidtopics.net/mpfGgZpkwp6yx_5wdXMe9g#c_UsingGlideRecordToQueryTables "GlideRecord API의 메서드를 사용하여 테이블에서 모든 기록을 반환하거나, 특정 조건을 만족하는 테이블에서 기록을 반환하거나, 단일 테이블 또는 텍스트 인덱스 그룹의 여러 테이블에서 문자열을 포함하는 기록을 반환할 수 있습니다.").

쿼리 작성 및 실행에 대한 자세한 내용은 [GlideRecord](https://developer.servicenow.com/dev.do#!/learn/courses/utah/app_store_learnv2_scripting_utah_scripting_in_servicenow/app_store_learnv2_scripting_utah_server_side_scripting/app_store_learnv2_scripting_utah_gliderecord) 문서를 참조하십시오.  
참고 항목:

* [GlideAggregate - 범위 지정됨](https://servicenow-prod.fluidtopics.net/yFmUVNHmJasWThEBKTdGiw#c_GlideAggregateScopedAPI "GlideAggregate API를 사용하면 데이터베이스 집계 쿼리를 만들 수 있습니다.")
* [GlideQuery - 범위, 전역](https://servicenow-prod.fluidtopics.net/tkBMAt54EDcNiTXYcFWJqQ#GlideQueryGlobalAPI "GlideQuery 스크립트 포함은 서버 측 스크립트의 기록 데이터에 대한 CRUD 작업을 수행하기 위한 GlideRecord API의 대안입니다.")
* [GlideQueryCondition - 범위 지정됨](https://servicenow-prod.fluidtopics.net/FBxi80w4mYNPdaEq3ldWlA#c_GlideQueryConditionScopedAPI "범위가 지정된 GlideQueryCondition API는 현재 조건에 추가할 수 있는 추가 AND 또는 OR 조건을 제공하므로 복잡한 쿼리를 작성할 수 있습니다.")
{#SGR-_query_O_O__ul_u5g_4gd_lpb}
{#SGR-_query_O_O__id_a3y_t5d_lpb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 이름 | 문자열 | 선택 사항 - 값 매개변수도 지정해야 합니다. 값 매개변수에 지정된 값을 검색할 필드의 이름입니다. 주: 이 메서드는 일반적으로 인수 없이 실행되지만, 지정된 값을 포함하는 레코드를 필터링하기 위해 이름-값 쌍을 지정할 수 있습니다. 매개변수가 지정되면 "name=value" 조건이 쿼리에 추가됩니다. |
| 값 | 문자열 | 선택 사항 - 필드 매개변수도 지정해야 합니다. 지정된 필드 매개변수에서 검색할 값입니다. |
[표 106. 매개변수]

{#SGR-_query_O_O__id_a3y_t5d_lpb} {#SGR-_query_O_O__table_whc_pcq_fz__entry__2}

| 유형 | 설명 |
|-|-|
| void |   |
[표 107. 반환]

{#SGR-_query_O_O__table_whc_pcq_fz}  
다음 예제에서는 지식 피드백 \[kb_feedback\] 테이블을 쿼리하고 Excel이 포함된 주석이 있는 KB 문서를 나열하는 방법을 보여 줍니다.

    var rec = new GlideRecord('kb_feedback');
    rec.addQuery('comments', 'CONTAINS', 'Excel');
    rec._query();
    while (rec.next()) { 
     gs.info(rec.getDisplayValue('article') + " comment: " + rec.getValue('comments'));
    }

출력:

    KB0000005 comment: 
    	     Can you please add the version of Excel this applies to? All?
    		
    KB0000005 comment: 
    	     Does this work for all Excel versions? OSX and Windows alike?

## 범위 지정된 GlideRecord - setAbortAction(부울 b) {#ariaid-title56}

다음 데이터베이스 작업(삽입, 업데이트, 삭제)을 중단할 것인지 여부를 나타내는 플래그를 설정합니다. 이는 비즈니스 규칙에서 자주 사용됩니다.
`onBefore` 비즈니스 규칙에서 사용하여 데이터베이스 작업이 수행되지 않도록 합니다. 비즈니스 규칙은 setAbortAction()이 호출된 후에도 계속 실행됩니다. setAbortAction()을 호출해도 후속 비즈니스 규칙의 실행은 중지되지 않습니다. 이 메서드를 호출하면 데이터베이스 작업이 발생하지 않습니다.
{#r_ScopedGlideRecordSetAbortAction_Boolean__table_vy2_525_jq__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| b | 부울 | 다음 작업을 중단하려면 True입니다. 작업이 허용될 경우 False입니다. |
[표 108. 매개변수]

{#r_ScopedGlideRecordSetAbortAction_Boolean__table_vy2_525_jq} {#r_ScopedGlideRecordSetAbortAction_Boolean__table_yv5_jtb_2r__entry__2}

| 유형 | 설명 |
|-|-|
| void |   |
[표 109. 반환]

{#r_ScopedGlideRecordSetAbortAction_Boolean__table_yv5_jtb_2r}  

    // Often used in business rule to check whether the current operation should be aborted.
    if (current.size > 16) {
      current.setAbortAction(true);
    }

## 범위 지정된 GlideRecord - setLimit(최대 기록 수) {#ariaid-title57}

GlideRecord 쿼리에서 가져오는 기록 수에 대한 제한을 설정합니다.
{#r_ScopedGlideRecordSetLimit_Number__table_vy2_525_jq__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 최대 기록 수 | 번호 | 가져올 최대 기록 수입니다. |
[표 110. 매개변수]

{#r_ScopedGlideRecordSetLimit_Number__table_vy2_525_jq} {#r_ScopedGlideRecordSetLimit_Number__table_owp_jtb_2r__entry__2}

| 유형 | 설명 |
|-|-|
| void |   |
[표 111. 반환]

{#r_ScopedGlideRecordSetLimit_Number__table_owp_jtb_2r}  

    var now_GR = new GlideRecord('incident');
    now_GR.orderByDesc('sys_created_on');
    now_GR.setLimit(10);
    now_GR.query(); // this retrieves latest 10 incident records created

## 범위 지정된 GlideRecord - setNewGuidValue(문자열 guid) {#ariaid-title58}

현재 기록의 sys_id 값을 설정합니다.
{#r_ScopedGlideRecordSetNewGuidValue_String__table_vy2_525_jq__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| guid | 문자열 | 현재 기록에 할당할 GUID입니다. |
[표 112. 매개변수]

{#r_ScopedGlideRecordSetNewGuidValue_String__table_vy2_525_jq} {#r_ScopedGlideRecordSetNewGuidValue_String__table_akk_jtb_2r__entry__2}

| 유형 | 설명 |
|-|-|
| void |   |
[표 113. 반환]

{#r_ScopedGlideRecordSetNewGuidValue_String__table_akk_jtb_2r}  

    var now_GR = new GlideRecord('incident');
    now_GR.setValue('short_description', 'The third floor printer is broken');
    now_GR.setNewGuidValue('eb4636ca6f6d31005be8883e6b3ee333');
    now_GR.insert();
    gs.info(now_GR.getValue('sys_id'));

## 범위 지정된 GlideRecord - setValue(문자열 이름, 객체 값) {#ariaid-title59}

지정된 이름의 필드 값을 지정된 값으로 설정합니다.
일반적으로 스크립트는 `now_GR.category = value`를 수행합니다. 그러나 요소 이름 자체가 변수인 경우 `now_GR.setValue(elementName, value)`를 사용할 수 있습니다. 값을 설정할 때 필드의 데이터 유형이 입력한 값의 데이터 유형과 일치하는지 확인합니다.  
주:  
플러그인이 열 수준 암호화 엔터프라이즈 활성화되어 있고 인스턴스에 키에 대한 액세스 권한이 있는 경우 이 메서드는 암호화된 데이터를 암호화된 필드에 삽입할 수 있습니다. 인스턴스에 키에 대한 액세스 권한이 없는 경우 이 메서드는 오류를 반환합니다. 자세한 내용은 [Platform Encryption](https://www.servicenow.com/docs/access?context=now-platform-encryption&version=xanadu&pubname=xanadu-platform-security&ft:locale=en-US)을 참조하십시오.
{#r_ScopedGlideRecordSetValue_String_Object__table_vy2_525_jq__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 이름 | 문자열 | 필드의 이름입니다. |
| 값 | 객체 | 필드에 할당할 값입니다. |
[표 114. 매개변수]

{#r_ScopedGlideRecordSetValue_String_Object__table_vy2_525_jq} {#r_ScopedGlideRecordSetValue_String_Object__table_bp2_jtb_2r__entry__2}

| 유형 | 설명 |
|-|-|
| void |   |
[표 115. 반환]

{#r_ScopedGlideRecordSetValue_String_Object__table_bp2_jtb_2r}  

    var elementName = 'short_description'; 
    var now_GR = new GlideRecord('incident'); 
    now_GR.initialize(); 
    now_GR.setValue(elementName, "My DB is not working");
    now_GR.insert();

## 범위 지정된 GlideRecord - setWorkflow(부울 사용) {#ariaid-title60}

비즈니스 규칙, 스크립트 엔진 및 감사 실행을 활성화하거나 비활성화합니다.
경고:  
비즈니스 규칙, 스크립트 엔진, 감사 실행을 사용하지 않도록 설정하면 인스턴스와 작동 방식에 상당한 영향을 미칠 ServiceNow® 수 있습니다. 프로덕션에 배포하기 전에 이 변경 사항을 철저히 테스트해야 합니다.  
주:  
교차 범위가 지정된 애플리케이션에 대해서는 이 방법을 설정할 수 없습니다. 자세한 내용은 다음 KB 문서를 [https://support.servicenow.com/kb?id=kb_article_view\&sysparm_article=KB0820691](https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB0820691)참조하십시오.
{#r_ScopedGlideRecordSetWorkflow_Boolean__table_vy2_525_jq__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 사용 | 부울 | 비즈니스 규칙, 스크립트 엔진 및 감사 실행을 활성화하거나 비활성화할지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다. * true: 비즈니스 규칙, 스크립트 엔진 및 감사 실행을 활성화합니다. * false: 비즈니스 규칙, 스크립트 엔진 및 감사 실행을 비활성화합니다. {#r_ScopedGlideRecordSetWorkflow_Boolean__ul_rb1_bwx_zqb} 기본값: true |
[표 116. 매개변수]

{#r_ScopedGlideRecordSetWorkflow_Boolean__table_vy2_525_jq} {#r_ScopedGlideRecordSetWorkflow_Boolean__table_cdx_3tb_2r__entry__2}

| 유형 | 설명 |
|-|-|
| void |   |
[표 117. 반환]

{#r_ScopedGlideRecordSetWorkflow_Boolean__table_cdx_3tb_2r}  

    //Enable business rules, scripts engines for x_app_table
    var now_GR = new GlideRecord("x_app_table"); 
    now_GR.setWorkflow(true);

## 범위 지정된 GlideRecord - update(문자열 이유) {#ariaid-title61}

변경된 내용으로 GlideRecord를 업데이트합니다. 기록이 아직 없으면 삽입됩니다.
{#r_ScopedGlideRecordUpdate_String__table_vy2_525_jq__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 이유 | 문자열 | 옵션입니다. 업데이트의 이유입니다. 이유는 감사 기록에 표시됩니다. |
[표 118. 매개변수]

{#r_ScopedGlideRecordUpdate_String__table_vy2_525_jq} {#r_ScopedGlideRecordUpdate_String__table_qpt_3f5_jq__entry__2}

| 유형 | 설명 |
|-|-|
| 문자열 | 새 기록 또는 업데이트된 기록의 Sys_id입니다. 업데이트가 실패하면 null을 반환합니다. |
[표 119. 반환]

{#r_ScopedGlideRecordUpdate_String__table_qpt_3f5_jq}  
다음 예는 인시던트의 간단한 설명 필드를 업데이트하는 방법을 보여줍니다.

    var now_GR = new GlideRecord('incident');
    now_GR.get('99ebb4156fa831005be8883e6b3ee4b9');
    now_GR.setValue('short_description', 'Update the short description');
    now_GR.update();
    gs.info(now_GR.getElement('short_description'));

출력:

    Update the short description.

## 범위 지정된 GlideRecord - updateMultiple() {#ariaid-title62}

지정된 변경 세트로 명시된 쿼리의 각 GlideRecord를 업데이트합니다.
이 방법은 여러 저널 항목 추가를 지원하지 않습니다.

glide.db.forced.chunk.threshold 시스템 속성은 청크 기록 삭제 및 업데이트를 강제하는 임계치를 설정합니다. 청크는 대용량 테이블에서 기본이 아닌 키 삭제로 인해 복제 문제가 발생하는 것을 방지하는 데 도움이 됩니다. 자세한 내용은 [Available system properties](https://www.servicenow.com/docs/access?context=r_AvailableSystemProperties&version=xanadu&pubname=xanadu-platform-administration&ft:locale=en-US) 문서를 참조하십시오.
주:  
예상 결과를 얻으려면 직접 할당 대신 setValue() 메서드를 사용합니다. 즉, `gr_Now.setValue('<field_name>', '4'));``대신 gr_Now.<field_name> = 4`.  
주:  
큰 테이블로 작업할 때는 chooseWindow() 또는 setLimit() 메서드와 함께 이 메서드를 사용하지 마십시오.

이 메서드는 새 값을 설정하고 기존 값을 지우지 않습니다. 기존 값을 지우려면 setValue() 메서드를 사용하고 필드를 null로 설정합니다.
{#r_ScopedGlideRecordUpdateMultiple__table_qwk_ysb_2r__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 없음 |   |   |
[표 120. 매개변수]

{#r_ScopedGlideRecordUpdateMultiple__table_qwk_ysb_2r} {#r_ScopedGlideRecordUpdateMultiple__table_fj2_htb_2r__entry__2}

| 유형 | 설명 |
|-|-|
| 없음 |   |
[표 121. 반환]

{#r_ScopedGlideRecordUpdateMultiple__table_fj2_htb_2r}  
이 예에서는 모든 활성 인시던트의 상태를 4 - "사용자 정보 대기 중"으로 업데이트하는 방법을 보여줍니다.

    var now_GR = new GlideRecord('incident');
    now_GR.addQuery('active', true);
    now_GR.setValue('state',  4);
    now_GR.updateMultiple();

## 범위 지정된 GlideRecord - updateWithReferences(객체 이유) {#ariaid-title63}

기록을 업데이트하고 제공된 정보로 관련 기록을 삽입하거나 업데이트합니다.
{#SGR-updateWithReferences_O__id_hhh_2fd_3zb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 이유 | 객체 | 업데이트 이유입니다. 이유는 감사 기록에 표시됩니다. |
[표 122. 매개변수]

{#SGR-updateWithReferences_O__id_hhh_2fd_3zb} {#SGR-updateWithReferences_O__id_l3b_ffd_3zb__entry__2}

| 유형 | 설명 |
|-|-|
| 문자열 | 업데이트할 기록의 sys_id입니다. |
[표 123. 반환]

{#SGR-updateWithReferences_O__id_l3b_ffd_3zb}  
호출자 ID가 참조 sys_user 기록 'John Doe'로 설정된 인시던트를 처리하는 경우 다음 코드는 John Doe의 사용자 기록을 업데이트합니다. 지정된 호출자 ID가 없는 인시던트를 처리하는 경우 다음 코드는 제공된 정보(first_name, last_name)로 새 sys_user 레코드를 만들고 호출자 ID 값을 새로 만든 sys_user 레코드로 설정합니다.

    var inc = new GlideRecord('incident');
    inc.get(inc_sys_id);  // Looking up an existing incident record where 'inc_sys_id' represents the sys_id of a incident record
    inc.caller_id.first_name = 'John';
    inc.caller_id.last_name = 'Doe';
    inc.updateWithReferences();
    }


