Сохранение данных в представления
Для сохранения изменений данных в представление, укажите его как объект операций INSERT, UPDATE и DELETE.
Ниже приведен пример настройки в таблице xls.objects:
ID | TABLE_SCHEMA | TABLE_NAME | TABLE_TYPE | TABLE_CODE | INSERT_OBJECT | UPDATE_OBJECT | DELETE_OBJECT |
---|---|---|---|---|---|---|---|
s02 | view_cashbook | VIEW | s02.view_cashbook | s02.view_cashbook | s02.view_cashbook | ||
s02 | usp_cashbook | PROCEDURE | s02.view_cashbook | s02.view_cashbook | s02.view_cashbook | ||
s02 | code_cashbook | CODE | <SQL> | s02.view_cashbook | s02.view_cashbook | s02.view_cashbook |
Ниже приведен пример настройки для представления списка запросов:
ID | TABLE_SCHEMA | TABLE_NAME | TABLE_TYPE | TABLE_CODE | INSERT_PROCEDURE | UPDATE_PROCEDURE | DELETE_PROCEDURE | PROCEDURE_TYPE |
---|---|---|---|---|---|---|---|---|
s02 | view_cashbook | VIEW | s02.view_cashbook | s02.view_cashbook | s02.view_cashbook | |||
s02 | usp_cashbook | PROCEDURE | s02.view_cashbook | s02.view_cashbook | s02.view_cashbook | |||
s02 | code_cashbook | CODE | <SQL> | s02.view_cashbook | s02.view_cashbook | s02.view_cashbook |
SaveToDB 8+, DBEdit, DBGate и ODataDB создают такие настройки автоматически, если целевое представление можно определить.
Например, если у пользователя есть разрешение VIEW DEFINITION и представление или хранимая процедура имеет код типа SELECT * FROM s02.view_cashbook.
Целевое представление должно иметь поля первичного ключа или поле IDENTITY.
Детали реализации
SaveToDB и DBEdit генерируют и выполняют команды INSERT, UPDATE, DELETE самостоятельно.
DBGate выполняет команды INSERT, UPDATE, DELETE на стороне сервера, преобразуя команды POST, PUT и DELETE.
ODataDB создает объекты EntitySet представлений, и FunctionImport, возвращающими EntitySet, для хранимых процедур и объектов на основе SQL-запросов.