zoukankan      html  css  js  c++  java
  • oracle 存储过程的一个小问题

    在存储过程中,一般不能直接使用DDL语句,需要借助 execute immediate方法,否则可能报 pls00103错误

    例子如下:

    create or replace procedure rt_pda_gps_sp as
    begin
      execute immediate 'truncate table rt_pda_gps';
      insert into rt_pda_gps select * from  pda4.v_gps_ydjw@to_pda4_dk t where t.upload_time>sysdate-2/24;
      commit;
     end rt_pda_gps_sp;

    附上一则连接:

    http://blog.itpub.net/17203031/viewspace-708923/

    讲得蛮详细的

    sql四种语言:

    1.DDLData Definition Language数据库定义语言statements are used to define the database structure or schema.

    DDL是SQL语言的四大功能之一。
    用于定义数据库的三级结构,包括外模式、概念模式、内模式及其相互之间的映像,定义数据的完整性、安全控制等约束
    DDL不需要commit.
    CREATE
    ALTER
    DROP
    TRUNCATE
    COMMENT
    RENAME

    2.DMLData Manipulation Language数据操纵语言statements are used for managing data within schema objects.

    由DBMS提供,用于让用户或程序员使用,实现对数据库中数据的操作。
    DML分成交互型DML和嵌入型DML两类。
    依据语言的级别,DML又可分成过程性DML和非过程性DML两种。
    需要commit.
    SELECT
    INSERT
    UPDATE
    DELETE
    MERGE
    CALL
    EXPLAIN PLAN
    LOCK TABLE

    3.DCLData Control Language数据库控制语言  授权,角色控制等
    GRANT 授权
    REVOKE 取消授权

    4.TCLTransaction Control Language事务控制语言
    SAVEPOINT 设置保存点
    ROLLBACK  回滚
    SET TRANSACTION

    SQL主要分成四部分
    (1)数据定义。(SQL DDL)用于定义SQL模式、基本表、视图和索引的创建和撤消操作。
    (2)数据操纵。(SQL DML)数据操纵分成数据查询和数据更新两类。数据更新又分成插入、删除、和修改三种操作。
    (3)数据控制。包括对基本表和视图的授权,完整性规则的描述,事务控制等内容。
    (4)嵌入式SQL的使用规定。涉及到SQL语句嵌入在宿主语言程序中使用的规则。

    另外,上面例子里面用到了

    insert into tabale_a select * from table_b

    针对table_a和table_b表结构一致的情况下,可以用这个语句来向table_a插入table_b的所有内容

    当然也可以插入部分 如

    insert into table_a(la,lc,ld) select la,lc,ld from table_b

    如果是有条件的部分插入更新,建议使用merge into语句

    Ink.Flower@china
  • 相关阅读:
    redis整合springboot
    安装k8s
    线程池工具类几种实现
    数据库mysql注意点及sql优化
    五年规划
    在 Ubuntu 16.04 安装ROS Kinetic 教程
    谈谈form-data请求格式 js
    C# Body为form-data file文件上传至第三方接口 http请求
    .net c# 使用form-data方式发起http请求
    使用form-data和raw作为body发起POST请求的区别
  • 原文地址:https://www.cnblogs.com/inkflower/p/6379015.html
Copyright © 2011-2022 走看看