--创建表
CREATE GLOBAL TEMPORARY TABLE TEST(RoadGuid varchar2(50 byte), RebuildDate DATE)
--插入表
INSERT INTO test (RoadGuid, RebuildDate)
SELECT RoadGuid, RebuildDate
FROM civicism.tbcityration
--查询表
SELECT RoadGuid, RebuildDate FROM TEST
--删除表
DROP TABLE TEST CASCADE CONSTRAINTS
以上语句单独执行都可以通过,希望能够将所有一次性执行,该怎么做。
望高手指教,急!

解决方案 »

  1.   

    请尽量说详细一些 最好把代码写下来。
    小弟刚接触Oracle,不懂啊 谢了
      

  2.   

    Tom_Real()意思是说,你把以上所有的sql  语句 都放在begin ............end 里面执行就可以了,然后在每个sql 语句后加一个commit;问题就可以解决了.
      

  3.   

    我刚刚尝试过了,还是不行啊
    --创建表
    CREATE GLOBAL TEMPORARY TABLE TEST(RoadGuid varchar2(50 byte), RebuildDate DATE,IntLogout number(10),RoadInfoID varchar2(50 byte),FenceInfoID varchar2(50 byte))
    --插入表
    INSERT INTO test (RoadGuid, RebuildDate,RoadInfoID,FenceInfoID, IntLogout)
    SELECT RoadGuid, RebuildDate,RoadInfoID,FenceInfoID, IntLogout
    FROM civicism.tbcityration
    UNION
    SELECT RoadGuid, RebuildDate,RoadInfoID,FenceInfoID, IntLogout
    FROM civicism.tbcityrationhistory
    --查询表
    SELECT civicism.tbCityRoadInfo.RoadName, civicism.tbCityFenceInfo.FenceLength, 
          civicism.tbCityFenceInfo.FenceType, civicism.tbCityFenceInfo.FenceMaterial, 
          civicism.tbCityRoadInfo.RoadConserveUnit
    FROM TEST INNER JOIN
          civicism.tbCityRoadInfo ON TEST.RoadInfoID = civicism.tbCityRoadInfo.RowGuid INNER JOIN
          civicism.tbCityFenceInfo ON  TEST.FenceInfoID = civicism.tbCityFenceInfo.RowGuid       
    WHERE TEST.RebuildDate IN
    (
    SELECT MAX(RebuildDate) FROM TEST
    WHERE to_char(RebuildDate,'yyyy')<=to_char(sysdate,'yyyy') AND TEST.IntLogout='0' GROUP BY RoadGuid
    )
    --删除表
    DROP TABLE TEST CASCADE CONSTRAINTS
    每个语句都单独可以执行,请哪位高手帮我写成一个能一次性直接运行的代码块,谢谢!!
      

  4.   

    declare 
    begin
    ...
    end;
    在begin 和end之间加入你的代码,注意每条语句后面要有一个分号
      

  5.   

    不知道你的具体用意到底是干什么?但是有一点要告诉你,PL/SQL中是不能够直接写select 语句的
      

  6.   

    给个提议---难道不能放在SP里面在实现吗?  用SP要简单很多吧? 
      

  7.   

    这个应该很简单的。可以用开发动态的SQL的方法。
    静态的SQL一般有SELECT, INSERT, UPDATE, DELETE这四条语句。
    动态的SQL语句可以在运行时建立和运行SQL语句。这种SQL语句必须是在运行时才能确定。