简体   繁体   English

使用PL / SQL执行Perl脚本

[英]Executing a perl script using PL/SQL

I want to execute a perl script at the click of a button in an application(Oracle Apex). 我想通过单击应用程序(Oracle Apex)中的按钮来执行perl脚本。 The script I can place in the DB host which the app interacts with. 我可以放置在与应用程序进行交互的数据库主机中的脚本。 In apex i can execute PL/SQL code. 在顶点我可以执行PL / SQL代码。 Is there a way by which I can execute the perl script using PL/SQL? 有没有一种方法可以使用PL / SQL执行perl脚本?

You can call Java from PL/SQL. 您可以从PL / SQL调用Java。 With Java you can execute anything from the command line. 使用Java,您可以从命令行执行任何操作。

Random Example: 随机示例:

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)';

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM