diff --git a/plugins/dbgate-plugin-mssql/src/frontend/driver.js b/plugins/dbgate-plugin-mssql/src/frontend/driver.js index b0141e08f..56c315e14 100644 --- a/plugins/dbgate-plugin-mssql/src/frontend/driver.js +++ b/plugins/dbgate-plugin-mssql/src/frontend/driver.js @@ -166,6 +166,10 @@ const driver = { label: 'New table valued function', sql: 'CREATE FUNCTION myfunc (@arg1 INT) RETURNS TABLE \nAS\nRETURN SELECT * FROM table1', }, + { + label: 'New trigger', + sql: 'CREATE TRIGGER trigger_name\nON table_name AFTER INSERT AS\nBEGIN\nSELECT * FROM table_name\nEND', + }, ]; }, diff --git a/plugins/dbgate-plugin-mysql/src/frontend/drivers.js b/plugins/dbgate-plugin-mysql/src/frontend/drivers.js index 6ab5399c8..743739218 100644 --- a/plugins/dbgate-plugin-mysql/src/frontend/drivers.js +++ b/plugins/dbgate-plugin-mysql/src/frontend/drivers.js @@ -192,6 +192,11 @@ const mysqlDriverBase = { sql: 'DELIMITER //\n\nCREATE PROCEDURE myproc (IN arg1 INT)\nBEGIN\n SELECT * FROM table1;\nEND\n\nDELIMITER ;', }, { label: 'New function', sql: 'CREATE FUNCTION myfunc (arg1 INT)\nRETURNS INT DETERMINISTIC\nRETURN 1' }, + { label: 'New trigger', sql: 'CREATE FUNCTION myfunc (arg1 INT)\nRETURNS INT DETERMINISTIC\nRETURN 1' }, + { + label: 'New event', + sql: 'CREATE EVENT `event_name`\nON SCHEDULE EVERY 1 HOUR\nDO\nBEGIN\n\nEND', + }, ]; }, }; diff --git a/plugins/dbgate-plugin-oracle/src/frontend/driver.js b/plugins/dbgate-plugin-oracle/src/frontend/driver.js index 8e34381dd..c91cd17c2 100644 --- a/plugins/dbgate-plugin-oracle/src/frontend/driver.js +++ b/plugins/dbgate-plugin-oracle/src/frontend/driver.js @@ -139,6 +139,15 @@ BEGIN END $$ LANGUAGE plpgsql;`, }, + { + label: 'New trigger', + sql: ` +CREATE OR REPLACE TRIGGER trigger_name +AFTER INSERT ON "table_name" FOR EACH ROW +BEGIN +END trigger_name; +`, + }, ]; }, diff --git a/plugins/dbgate-plugin-postgres/src/frontend/drivers.js b/plugins/dbgate-plugin-postgres/src/frontend/drivers.js index 5b70fe74c..7e8dae3b9 100644 --- a/plugins/dbgate-plugin-postgres/src/frontend/drivers.js +++ b/plugins/dbgate-plugin-postgres/src/frontend/drivers.js @@ -2,7 +2,7 @@ const { driverBase } = global.DBGATE_PACKAGES['dbgate-tools']; const Dumper = require('./Dumper'); const { postgreSplitterOptions } = require('dbgate-query-splitter/lib/options'); -const spatialTypes = ['GEOGRAPHY','GEOMETRY']; +const spatialTypes = ['GEOGRAPHY', 'GEOMETRY']; /** @type {import('dbgate-types').SqlDialect} */ const dialect = { @@ -203,6 +203,13 @@ BEGIN END $$ LANGUAGE plpgsql;`, }, + { + label: 'New trigger', + sql: `CREATE TRIGGER trigger_name +BEFORE INSERT ON table_name +FOR EACH ROW +EXECUTE FUNCTION function_name();`, + }, ]; },