oracle 查询出触发器名称,触发器 sql
时间: 2023-11-26 20:02:42 浏览: 89
你可以使用以下 SQL 语句来查询 Oracle 数据库中的触发器名称和 SQL:
```
SELECT TRIGGER_NAME, TRIGGER_TYPE, TRIGGERING_EVENT, TABLE_OWNER, TABLE_NAME, TRIGGER_BODY
FROM ALL_TRIGGERS
WHERE OWNER = 'schema_name';
```
请将 `schema_name` 替换为你所需要查询的数据库用户的名称。这个查询语句将列出所有属于该用户的触发器的名称、类型、触发事件、所属表的用户名和表名以及触发器的 SQL 语句。
相关问题
oracle sql developer触发器使用
Oracle SQL Developer 是一个用于管理 Oracle 数据库的工具,它可以帮助你创建、修改和删除触发器。下面是使用 Oracle SQL Developer 创建触发器的步骤:
1. 打开 Oracle SQL Developer 工具,连接到你的数据库。
2. 在左侧的导航栏中,展开你的数据库,然后展开 "表" 菜单。
3. 找到你想要创建触发器的表,并右键单击该表。选择 "触发器" 菜单。
4. 在 "触发器" 窗口中,选择 "创建" 按钮。
5. 在 "创建触发器" 窗口中,输入触发器的名称和描述。
6. 选择触发器的时间(BEFORE 或 AFTER)和事件(INSERT、UPDATE 或 DELETE)。
7. 编写触发器的主体代码。触发器代码应该在 BEGIN 和 END 关键字之间。
8. 点击 "应用" 按钮,然后点击 "确定" 按钮。
现在你已经成功创建了触发器。每当触发器所依附的表发生相应的事件时,触发器代码将会被执行。你可以在触发器窗口中查看你创建的触发器,并随时修改或删除它们。
oracle触发器 sql查询自身
在Oracle中,要在触发器中查询自身,你可以使用`NEW`和`OLD`关键字来引用触发器所属的行。`NEW`关键字指的是触发器正在插入或更新的行,而`OLD`关键字指的是触发器正在更新或删除的行。
下面是一个示例,演示如何在触发器中查询自身:
```sql
CREATE OR REPLACE TRIGGER trigger_name
BEFORE INSERT OR UPDATE OR DELETE ON table_name
FOR EACH ROW
DECLARE
self_value table_name.column_name%TYPE;
BEGIN
-- 查询自身的值
SELECT column_name INTO self_value FROM table_name WHERE primary_key_column = :NEW.primary_key_column;
-- 执行其他逻辑或操作
-- 例如,可以打印出查询到的值
DBMS_OUTPUT.PUT_LINE('Self value: ' || self_value);
END;
/
```
在上面的示例中,`trigger_name`是你给触发器起的名称,`table_name`是触发器所属的表名,`column_name`是你要查询的列名,`primary_key_column`是表中的主键列名。
请注意,在触发器中进行查询操作可能会影响性能和触发器的执行速度。因此,建议仅在需要时才进行此类查询操作,并尽量保持触发器简单和高效。
阅读全文