DbVisualizer执行trigger报 ORA-00900: 无效 SQL 语句

  1. 项目中有个表触发器,上线前执行该trigger脚本时,始终报如下错误:

21:16:28 [END - 0 row(s), 0.000 secs] [Error Code: 900, SQL State:
42000] ORA-00900: 无效 SQL 语句 … 2 statement(s) executed, 0 row(s)
affected, exec/fetch time: 0.114/0.000 sec [0 successful, 1
warnings, 1 errors]

  1. trigger脚本如下(该SQL是直接从现有环境复制下来的,肯定没有问题):
CREATE OR REPLACE TRIGGER "WECHAT"."WXUSERLOGS"
 AFTER UPDATE OR INSERT ON WEIXIN_USER
 FOR EACH ROW 
BEGIN
 INSERT INTO WEIXIN_LOG("ID",OPEN_ID,USER_NAME,ACCT_OPEN_ID,"GROUP_ID")  
values (:new."ID",:new.OPEN_ID,:new.USER_NAME,:new.ACCT_OPEN_ID,:new."GROUP_ID");
END;
  1. 问题原因:
    数据库连接工具对脚本结束符解释不一致所致。后使用Navicat工具可正常执行,使用Dbvisualizer工具则需要再SQL前后添加 --/ 符号。

  2. 解决办法:
    在脚本前后分别加班 --/ 符号,如下:

--/
CREATE OR REPLACE TRIGGER "WECHAT"."WXUSERLOGS"
 AFTER UPDATE OR INSERT ON WEIXIN_USER
 FOR EACH ROW 
BEGIN
 INSERT INTO WEIXIN_LOG("ID",OPEN_ID,USER_NAME,ACCT_OPEN_ID,"GROUP_ID")  
values (:new."ID",:new.OPEN_ID,:new.USER_NAME,:new.ACCT_OPEN_ID,:new."GROUP_ID");
END;
--/
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 要在DBVisualizer执行SQL文件,您可以按照以下步骤操作: 1. 打开DBVisualizer并连接到您的数据库。 2. 在左侧的“对象”窗格中,选择要执行SQL文件的数据库。 3. 单击“SQL编辑器”选项卡以打开SQL编辑器。 4. 单击“打开文件”按钮并选择要执行SQL文件。 5. 在SQL编辑器中,您可以查看和编辑SQL语句。 6. 单击“执行”按钮以执行SQL文件中的所有语句。 7. 执行完成后,您可以在“结果”窗格中查看执行结果。 希望这可以帮助您。 ### 回答2: DbVisualizer是一款通用的数据库管理工具,它支持多种数据库类型例如Oracle、SQL Server、MySQL等,可以帮助用户方便快捷地管理和查询数据库。其中执行SQL文件是DbVisualizer的一个常用功能。 在使用DbVisualizer执行SQL文件之前,首先需要连接到目标数据库。可以通过连接向导或手动配置连接参数来完成连接。连接成功后,在菜单栏中选择“工具”-“Execute SQL Script”即可打开执行SQL文件的界面。 在“Execute SQL Script”界面中,首先需要选择SQL文件所在的路径,并确定SQL文件的编码格式。在“Encoding”下拉框中选择正确的编码格式。如果不知道SQL文件的编码格式,可以先选择“Auto Detect”,DbVisualizer会尝试自动检测。 选择完SQL文件和编码格式后,点击“Execute”按钮开始执行SQL文件。DbVisualizer会按SQL文件中的命令顺序逐条执行SQL语句执行过程中会显示执行进度和错误信息。 如果SQL文件中包含多条语句,可以选择“Process all statements”来一次性执行所有语句,还可以选择“Stop on errors”来在遇到错误时停止执行执行SQL文件后,可以在“Log”标签页中查看执行结果,包括执行过程和执行时间等信息。如果执行发生错误,可以在“Errors”标签页中查看详细的错误信息和发生错误语句。 总之,使用DbVisualizer执行SQL文件非常方便,只需要几个简单的步骤即可完成。同时,DbVisualizer还具有许多其他的功能,例如数据导入导出、数据查询分析等,适合各种数据库管理需求。 ### 回答3: DBVisualizer是一款广受欢迎的数据库管理工具,可以执行SQL命令、管理和维护多种类型的数据库。用户可以通过DBVisualizer快速、方便地连接数据库,并进行各种数据库操作。执行SQL文件是DBVisualizer的一项非常强大的功能,让用户可以快速、轻松地批量执行SQL代码。 在执行SQL文件之前,用户需要先在DBVisualizer中连接数据库,打开新的SQL编辑器窗口,然后打开想要执行SQL文件。在SQL编辑器窗口中,用户可以看到SQL文件的全部内容。为了执行SQL文件,用户可以使用DBVisualizer中的“执行”按钮,或者使用快捷键“Ctrl+Enter”。 当用户执行SQL文件时,DBVisualizer会将SQL文件中的所有SQL语句逐一执行。在执行SQL语句时,DBVisualizer会根据用户指定的数据库类型以及连接参数,自动识别和调用对应的数据库客户端。用户无需再单独安装任何数据库客户端,DBVisualizer已经提供了集成的数据库客户端,用户只需要连接数据库即可执行SQL语句执行SQL文件的另一个重要功能是批量修改数据库结构和数据。当用户需要对数据库进行大规模的数据修改时,手动执行SQL语句可能会非常困难和繁琐,而使用DBVisualizer执行SQL文件则可以快速、准确地修改数据库。用户可以在SQL文件中编写复杂的SQL代码,通过执行SQL文件来一次性修改数据库中的多条记录,大大提高了工作效率。 总之,DBVisualizer可以方便地执行SQL文件,通过批量执行SQL语句,轻松地管理和维护数据库。使用DBVisualizer,用户可以快速地连接数据库,执行各种数据库操作,提高工作效率,节省时间和精力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值