这是对表结构进行更新的 批处理文件
@echo off
sqlplus zhbb/zhbb@zhbb @.\update.sql
cls
echo 数据库更新成功,可以正常使用了!
pause
@echo on
exit
求update.sql里面的内容:(请问这里面应该如何写)
需求是这样的:
1.判断表aabb是否存在,如果不存在创建表aabb 存在的话删除表再按照创建语句重新创建
2.向表里面插入数据

insert into aabb (a1, a2, a3, a4)
values (3, 2, 'ok', 'h');
插入不进去数据,请问应该如何写小弟初学oracle ,请大家多多指教

解决方案 »

  1.   

    -- TRY IT ..
    SQL> SELECT * FROM AABB;SELECT * FROM AABBORA-00942: table or view does not existSQL> 
    SQL> DECLARE
      2    COUNTS NUMBER := 0;
      3  BEGIN
      4    SELECT COUNT(1)
      5      INTO COUNTS
      6      FROM ALL_TABLES
      7     WHERE TABLE_NAME = UPPER('AABB');
      8  
      9    IF COUNTS <> 0 THEN
     10      EXECUTE IMMEDIATE 'DROP TABLE AABB';
     11    END IF;
     12  
     13    EXECUTE IMMEDIATE 'CREATE TABLE AABB(
     14    A1 NUMBER,
     15    A2 NUMBER,
     16    A3 VARCHAR2(10),
     17    A4 VARCHAR2(10)
     18    )';
     19  
     20    EXECUTE IMMEDIATE 'INSERT INTO AABB VALUES (3, 2, ''OK'', ''H'')';
     21    COMMIT;
     22  
     23  EXCEPTION
     24    WHEN OTHERS THEN
     25      DBMS_OUTPUT.PUT_LINE('Error happened!!!');
     26  END;
     27  /PL/SQL procedure successfully completedExecuted in 0.562 secondsSQL> SELECT * FROM AABB;        A1         A2 A3         A4
    ---------- ---------- ---------- ----------
             3          2 OK         HExecuted in 1.031 seconds
      

  2.   

    使用sqlldr插入数据。
    在你的批处理文件里加入一条sqlldr语句就可以了。
      

  3.   

    嗯,一楼 mantisXF 写的很不错了,俺就不重复了