ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Справка
  • Sign Out
ArcGIS Desktop

ArcGIS Online

Картографическая платформа вашей организации

ArcGIS Desktop

Полноценная профессиональная ГИС

ArcGIS Enterprise

ГИС предприятия

ArcGIS Developers

Инструменты для встраивания приложений с местоположениями

ArcGIS Solutions

Бесплатные шаблоны карт и приложений для отрасли

ArcGIS Marketplace

Получение приложения и данных для вашей организации.

  • Документация
  • Поддержка
Esri
  • Войти
user
  • Мой профиль
  • Выход

ArcMap

  • На главную
  • Начало работы
  • Карта
  • Анализ
  • Управление данными
  • Инструменты
  • Дополнительные модули

Редактирование неверсионных данных в базе геоданных в Db2 с помощью SQL

Вы можете использовать SQL для обновления, добавления и удаления данных в неверсионных таблицах базы геоданных, если они не участвуют в объектах поведения базы геоданных. См. Какие типы данных можно редактировать, используя SQL? для информации о типах данных и поведении баз геоданных, которые нельзя редактировать с помощью SQL.

Примечание:

Если для неверсионной таблицы, предназначенной для редактирования с помощью SQL, включено архивирование, можно вместо самой таблицы редактировать ее архивное представление. Представление автоматически обновит конкретные поддерживаемые ArcGIS поля. См. раздел Что такое архивное представление и связанные с ним разделы для получения подробной информации.

Все данные, которые были зарегистрированы в базе геоданных, имеют уникальное непустое управляемое системой поле ObjectID (Row ID). Вам необходимо предоставить уникальное значение для ObjectID, когда вы используете SQL для добавления записей в неверсионные таблицы в базе геоданных. Можете воспользоваться процедурой Next_RowID для вставки значения в поле ObjectID с помощью SQL.

Ниже приводится перечень действий, выполнение которых позволит вам обновить одну строку неверсионной таблицы и вставить ObjectID за один раз. Удобнее всего создать процедуру или пользовательскую программу, чтобы получить идентификаторы ObjectID и обновить ваши данные.

  1. Войдите в базу данных из редактора SQL, например, Db2 Call Level Interface.

    Выполните вход как пользователь с правами доступа на редактирование данных.

  2. Выполните выражение SQL, аналогичное следующему, чтобы вызвать встроенную процедуру Next_RowID.

    Встроенная процедура Next_RowID получает в качестве входных параметров владельца таблицы и имя таблицы, чтобы вернуть следующее значение ObjectID для таблицы.

    В данном примере, GIS – это владелец таблицы, FACTORIES – имя таблицы, и три вопросительных знака обозначают три параметра, которые будут возвращены: ROWID, MSGCODE и MESSAGE.

    CALL SDE.next_rowid('GIS','FACTORIES',?,?,?)
    Value of output parameters
    -----------------------------
    Parameter Name : O_ROWID
    Parameter Value : 18
    Parameter Name : O_MSGCODE
    Parameter Value : 0
    Parameter Name : O_MESSAGE
    Parameter Value : Procedure successfully
    completed.
    Return Status = 1
    
  3. Добавьте запись в таблицу, используя значение O_ROWID, полученное в результате предыдущего вызванного выражения.
    INSERT INTO FACTORIES
    (OBJECTID,NAME,SHAPE)
    VALUES(
    18,
    'megafactory',
    db2gse.ST_PolyFromText('POLYGON( ( 50 31, 54 31, 54 29, 50 29, 50 31) )',
    db2gse.coordref()..srid(4326))
    );
    
  4. Вы можете продолжить редактирование или, если вы закончили редактирование, внести изменения в базу данных (операция COMMIT).

Если таблица содержит поле GUID или Global ID, необходимо также указать уникальное значение в этом поле. Подробнее см. Next_GlobalID.

Связанные разделы

  • Next_RowID
  • RowID_Name
  • Что такое ObjectID?
  • Какие типы данных можно редактировать, используя SQL?

ArcGIS Desktop

  • На главную
  • Документация
  • Поддержка

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

Об Esri

  • О нас
  • Карьера
  • Блог Esri
  • Конференция пользователей
  • Саммит разработчиков
Esri
Расскажите нам, что вы думаете.
Copyright © 2021 Esri. | Конфиденциальность | Правовая информация