使用 PL/SQL 执行 perl 脚本

Posted

技术标签:

【中文标题】使用 PL/SQL 执行 perl 脚本【英文标题】:Executing a perl script using PL/SQL 【发布时间】:2013-09-26 04:19:59 【问题描述】:

我想通过单击应用程序(Oracle Apex)中的按钮来执行 perl 脚本。我可以放置在应用程序与之交互的数据库主机中的脚本。在 apex 中,我可以执行 PL/SQL 代码。有没有一种方法可以让我?

【问题讨论】:

How do I call Perl modules from PL/SQL, Oracle Forms? 的可能重复项 【参考方案1】:

您可以从 PL/SQL 调用 Java。使用 Java,您可以从命令行执行任何操作。

随机示例:

import java.sql.*;
import oracle.jdbc.driver.*;

public class Adjuster 
  public static void raiseSalary (int empNo, float percent)
  throws SQLException  
    Connection conn = new OracleDriver().defaultConnection();
    String sql = "UPDATE emp SET sal = sal * ? WHERE empno = ?";
    try 
      PreparedStatement pstmt = conn.prepareStatement(sql);
      pstmt.setFloat(1, (1 + percent / 100));
      pstmt.setInt(2, empNo);
      pstmt.executeUpdate();
      pstmt.close();
     catch (SQLException e) System.err.println(e.getMessage());
  


CREATE OR REPLACE PROCEDURE raise_salary (empno NUMBER, pct NUMBER)
AS LANGUAGE JAVA
NAME 'Adjuster.raiseSalary(int, float)';

手册: http://docs.oracle.com/cd/B28359_01/java.111/b31225/chfive.htm

【讨论】:

以上是关于使用 PL/SQL 执行 perl 脚本的主要内容,如果未能解决你的问题,请参考以下文章

使用 OCCI oracle 在 C++ 中执行 PL/SQL 脚本

PL/SQL:是不是有完全停止脚本执行的指令?

如何执行目录中的所有 pl/sql 文件(install_db 脚本)

在 PL/SQL 中捕获 SQL/开发人员脚本输出

在 C# 中使用 Dapper 将数据发送到 RECORD 类型的 PL/SQL 脚本变量会更好吗

为啥我的 IF 在我的 PL?SQL 脚本中被忽略? [复制]