zoukankan      html  css  js  c++  java
  • oracle环境下在dos中使用编译sql脚本执行存储过程的方法

    首先说如何编译扩展名为sql的sql脚本.

    sqlplus system/admin@orcl @D:\P_CREATE_TABLE.sql

    这样就可以了。需要注意的是这样的做法只是在服务器上编译和生成了这个脚本,并不是执行了这个脚本中的内容。

    需要注意的是1.要在语句的最后加上一个/符号,否则不会执行。2.需要写全脚本的路径。3.可以用@@来代替,这个条件是执行的脚本需要在当前路径下。

    脚本例子如下:

    CREATE OR REPLACE PROCEDURE P_CREATE_TABLE(TABLENAME IN VARCHAR2) AS
    BEGIN
      EXECUTE IMMEDIATE 'CREATE TABLE ' || TABLENAME || ' (A INT)';
    END;
    /

    如果想执行编译后的脚本,比如想执行存储过程,同时有一个参数,该怎么编写脚本呢?

    BEGIN
      CREATE_TABLE ('&1');
    END;
    /

    参数使用&1、&2这样来代替,以上脚本另存为扩展名为sql的脚本,比如CREATE_TABLE.SQL

    在DOS中以上脚本的执行:

    sqlplus system/admin@orcl @D:\CREATE_TABLE.sql TableName1

    如果存储过程同时有输入参数也有输出参数,这又要怎么执行呢?

    DECLARE

      P_O INTEGER

    BEGIN
      CREATE_TABLE (P_O,'&1');
    END;
    /

    在脚本中这样写就可以了。

  • 相关阅读:
    php 异步执行脚本
    微信扫描带参数二维码事件
    windows7搭建wnmp环境
    Windows下安装Redis及php的redis拓展教程
    英语翻译(一维map)
    转圈游戏
    蓝桥杯剪邮票
    再谈组合
    关于inf设置为0x3f3f3f3f
    枚举排列组合(dfs)
  • 原文地址:https://www.cnblogs.com/wbzhao/p/2427317.html
Copyright © 2011-2022 走看看