add trigger document

This commit is contained in:
XudongXie 2024-09-17 23:58:58 +08:00
parent 6afc2b1085
commit 106f9e2ada
3 changed files with 33 additions and 26 deletions

View File

@ -4,20 +4,10 @@
<option name="autoReloadType" value="SELECTIVE" />
</component>
<component name="ChangeListManager">
<list default="true" id="d8d12963-4777-48e3-9669-309cf5e41d60" name="更改" comment="add ast classes of function">
<list default="true" id="d8d12963-4777-48e3-9669-309cf5e41d60" name="更改" comment="add function">
<change afterPath="$PROJECT_DIR$/src/main/java/Document/Trigger in Oracle" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/Generator/OpenGaussGenerator.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/Generator/OpenGaussGenerator.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/Interface/ColumnType.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/Interface/DataType.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/Lexer/OracleLexer.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/Lexer/OracleLexer.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/Main.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/Main.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/Parser/AST/AlterTable/AlterAddColumnNode.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/Parser/AST/AlterTable/AlterAddColumnNode.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/Parser/AST/AlterTable/AlterModifyColumnNode.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/Parser/AST/AlterTable/AlterModifyColumnNode.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/Parser/AST/CreateTable/ColumnNode.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/Parser/AST/CreateTable/ColumnNode.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/Parser/AST/Function/FunctionColumnNode.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/Parser/AST/Function/FunctionColumnNode.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/Parser/AST/Function/FunctionNameNode.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/Parser/AST/Function/FunctionNameNode.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/Parser/AST/Function/FunctionRetDefNode.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/Parser/AST/Function/FunctionRetDefNode.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/Parser/AST/Procedure/ProcedureColumnNode.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/Parser/AST/Procedure/ProcedureColumnNode.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/Parser/OracleParser.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/Parser/OracleParser.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/Document/Todolist" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/Document/Todolist" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
@ -115,13 +105,6 @@
<option name="presentableId" value="Default" />
<updated>1723106789329</updated>
</task>
<task id="LOCAL-00036" summary="revise">
<created>1726066806993</created>
<option name="number" value="00036" />
<option name="presentableId" value="LOCAL-00036" />
<option name="project" value="LOCAL" />
<updated>1726066806993</updated>
</task>
<task id="LOCAL-00037" summary="add join pattern">
<created>1726068883795</created>
<option name="number" value="00037" />
@ -458,7 +441,14 @@
<option name="project" value="LOCAL" />
<updated>1726583392370</updated>
</task>
<option name="localTasksCounter" value="85" />
<task id="LOCAL-00085" summary="add function">
<created>1726587379509</created>
<option name="number" value="00085" />
<option name="presentableId" value="LOCAL-00085" />
<option name="project" value="LOCAL" />
<updated>1726587379509</updated>
</task>
<option name="localTasksCounter" value="86" />
<servers />
</component>
<component name="Vcs.Log.Tabs.Properties">
@ -473,7 +463,6 @@
</option>
</component>
<component name="VcsManagerConfiguration">
<MESSAGE value="add alter table parser" />
<MESSAGE value="add alter" />
<MESSAGE value="fix some bugs" />
<MESSAGE value="add view document" />
@ -498,7 +487,8 @@
<MESSAGE value="add document of rollback, commot, execute" />
<MESSAGE value="add document of function" />
<MESSAGE value="add ast classes of function" />
<option name="LAST_COMMIT_MESSAGE" value="add ast classes of function" />
<MESSAGE value="add function" />
<option name="LAST_COMMIT_MESSAGE" value="add function" />
</component>
<component name="XDebuggerManager">
<watches-manager>

View File

@ -13,7 +13,7 @@ Operation
 while... loop... end loop 1
 for ... in () loop end loop 1
 continue、exit 1
 return ***
 return 1
 exception 1
 commit、rollback、execute 1
 alter table 1
@ -22,6 +22,6 @@ Operation
Object
 table 1
 view 1
 function ***
 function 1
 procedure 1
 trigger ****
 trigger 1

View File

@ -0,0 +1,17 @@
CREATE OR REPLACE TRIGGER trigger_name
BEFORE | AFTER | INSTEAD OF -- OpenGauss does not support INSTEAD OF
{ INSERT | UPDATE | DELETE }
ON table_name
[REFERENCING NEW AS new OLD AS old] -- OpenGauss does not support this
FOR EACH ROW
WHEN (condition)
BEGIN
-- trigger body
END;
Example: CREATE OR REPLACE TRIGGER log_insert
BEFORE INSERT ON employees
FOR EACH ROW
BEGIN
INSERT INTO audit_log (action, employee_id) VALUES ('INSERT', :NEW.id);
END;