当前位置:首页 » 编程软件 » sqlplus查触发器是否编译

sqlplus查触发器是否编译

发布时间: 2022-08-03 13:29:47

sqlplus语句中创建一个触发器一直提示第三行错误,缺失右括号是为什么,触发器代码如下所示

办法一:把序列和触发器名字中的引号去掉.
办法二:触发器中,select "Sequence_APP".NEXTVAL INTO :new.AID from al;

Ⅱ 如何查看sql server是否有触发器

1、通过可视化操作来管理和查看触发器
在Microsoft SQL Server Management Studio中,选中某一数据库的某一张表时,在“对象资源管理器详细”窗口中有“触发器”项。
通过“触发器”的右键菜单功能,我们可以新建触发器。如果原来的表中已经存在了触发器,通过双击“触发器”项可以查看到具体的触发器,在此处可以执行 修改、删除等操作。
2、通过查询分析器来管理和查看触发器
1)查看表中的触发器类型:
sp_helptrigger:返回对当前数据库的指定表定义的 DML 触发器的类型。sp_helptrigger 不能用于 DDL 触发器。
示例: EXEC sp_helptrigger '表名'
2)查看触发器的有关信息:
sp_help:报告有关数据库对象(sys.sysobjects 兼容视图中列出的所有对象)、用户定义数据类型或某种数据类型的信息。
示例: EXEC sp_help '触发器名'
3)显示触发器的定义:
sp_helptext:显示规则、默认值、未加密存储过程、用户定义函数、触发器或视图的文本。
示例: EXEC sp_helptext '触发器名'
4)查看当前库中所有的触发器:
查询脚本:SELECT * FROM Sysobjects WHERE xtype = 'TR'
5)查看当前库中所有的触发器和与之相对应的表:
查询脚本:SELECT tb2.name AS tableName,tb1.name AS triggerName FROM Sysobjects tb1 JOIN Sysobjects tb2 ON tb1.parent_obj=tb2.id WHERE tb1.type='TR'

Ⅲ 创建的触发器带有编译错误

select table_sequence nextval into:new.id from al;
这句的table_sequence 和nextval 之间少了个点
table_sequence.nextval
还有这个样子些不好,这个al伪表一般只适合SQLPLUS下用,pl/sql中 直接用赋值的方式:
:new.id:=table_sequence.nextval就OK了。

Ⅳ SQLPLUS一道关于触发器的问题,判断输入students表格里面的生日与年龄是否符合,如果不符合会报错。

这个可以满足你的要求,oracle10gr2已测试
create or replace trigger stu_age
before insert or update on STUDENTS
for each row
begin
if (EXTRACT(year FROM sysdate) - EXTRACT(year FROM :new.bdate) <>
:new.age) then
RAISE_APPLICATION_ERROR(num => -20107,
msg => 'MISMATCH OF BDATE AND AGE');
end if;
end;

Ⅳ Oracle SQL*PLUS中设置trigger为何总是编译错误

编译错误一般是trigger的写法有误。

Oracle中trigger语法:

CREATE[ORREPLACE]TRIGGERtrigger_name
{BEFORE|AFTER}
{INSERT|DELETE|UPDATE[OFcolumn[,column…]]}
[OR{INSERT|DELETE|UPDATE[OFcolumn[,column…]]}...]
ON[schema.]table_name|[schema.]view_name
[REFERENCING{OLD[AS]old|NEW[AS]new|PARENTasparent}]
[FOREACHROW]
[WHENcondition]
PL/SQL_BLOCK|CALLprocere_name;

具体的内容需要根据需求来编写。

Ⅵ LINUX下,对ORACLE数据库脚本(比如存储过程或是触发器)进程编译,用哪个命令

sqlplus里
@${filename}

showerror -- 查看编译错误

Ⅶ 如何在sql数据库中查找触发器的代码

SQL Server
只要在创建触发器的时候没有指定WITH ENCRYPTION 选项,都能查看到源代码。
在SMSS的对象资源管理器中找到有触发器的表,展开,在下面的触发器项目下找到触发器的名字,双击(或者右击触发器名字,在菜单中选择编辑), 就能看到触发器的源代码了。

Ⅷ SQL中如何查询指定触发器是否存在

我给你讲一下吧,前提是我不知道你是sql server还是oracle:
那就先讲sql server:select name from sysobjects where name='trig_insert' and type='tr'这句一般在建触发器是第一句都写得,name字段是你的触发器名称,当然你一可以用模糊查询like关键字来查。
其次是oracle ,他的触发器在user_triggers这张表里面,select trigger_name,trigger_type,table_name from user_triggers where trigger_name like' to%';

Ⅸ oracle创建的触发器带有编译错误

告诉你两点:
1、当出现警告或者错误的时候,使用show error 命令,可以查看错误的具体信息,在信息中可以定位错误的具体位置。
2、你的问题是:【endif;】不能写在一起,【end if;】是正确的。
类似的还有【end loop】 等。

---
以上,希望对你有所帮助。

Ⅹ 如何在sqlplus中运行创建触发器的脚本

脚本编辑好以后放到一个目录下,脚本名比如create.sql,最好是英文目录,比如c盘的data目录。

其中创建的脚本必须不能有错误,否则编译肯定无法通过,然后要以分号结尾。

然后cmd进入data目录,登录sqlplus到指定数据库。

执行

@create.sql
热点内容
玩安卓模拟器选什么显卡 发布:2024-05-11 21:58:21 浏览:530
安卓是用来干什么的 发布:2024-05-11 21:42:32 浏览:179
安卓怎么只显示时间 发布:2024-05-11 21:01:48 浏览:56
贵州金税盘服务器地址云空间 发布:2024-05-11 20:59:54 浏览:222
服务器电路图怎么放 发布:2024-05-11 20:14:04 浏览:607
安卓动态充电壁纸怎么搞 发布:2024-05-11 20:05:34 浏览:452
累积费率算法 发布:2024-05-11 19:48:48 浏览:380
电脑被设密码应如何打开 发布:2024-05-11 19:44:37 浏览:541
sql语句或 发布:2024-05-11 19:34:07 浏览:323
嘉兴招编程 发布:2024-05-11 19:25:55 浏览:606