我想把下面两个文件合并起来,全都写在1.bat里面,可以吗?1.bat
      内容如下:
echo  开始...
echo exit|sqlplus username/password@orcl as sysdba @script.sql
echo 略。。
echo 结束script.sql
      内容如下:
----删除用户
drop user test cascade;
/
----创建用户zjif
CREATE USER testIDENTIFIED BY "test"
 DEFAULT TABLESPACE "USERS"
 TEMPORARY TABLESPACE "TEMP"
---略

解决方案 »

  1.   

    不一定非要合在一起的  
    试试  用一个bat 去调用 另一个bat  
      

  2.   

    可以用类似@(
    echo run {
    echo allocate channel Channel1 type disk format '%BACKUP_DIR%\%NAME%';
    echo sql "ALTER SYSTEM ARCHIVE LOG CURRENT";
    echo release channel Channel1;
    echo }
    ) | rman target /这样的方式
      

  3.   

    楼上的这种方法好像行不通的,rman下支持run {命令}这种写法,但是在sql下不行的,
    @后面必须是文件名,你在@后写的任何东西它都当文件去取的。比如@(run  之类的会说(run.sql打不开之类的。
      

  4.   

    linux 下可以这么写
    sqlplus username/password@orcl as sysdba <<EOF
    drop user test cascade;
    CREATE USER testIDENTIFIED BY "test" DEFAULT TABLESPACE "USERS" TEMPORARY TABLESPACE "TEMP";
    exit;
    EOF
      

  5.   

    #!/bin/bash
    # Program:#
    #This program is a test program.
    # History:
    # 2010/07/01    HanLiangYuan    First releasea
    echo -e 'test start \a \n'
    su oracle <<EOF
    sqlplus / as sysdba
    select table_name from dba_tables;
    exit;
    EOF
    echo -e 'test end \a \n'
    exit 0
    测试成功,谢谢ls.