Home > Database > Mysql Tutorial > body text

关于 Oracle NULL栏位和PL./SQL执行实验

WBOY
Release: 2016-06-07 16:07:51
Original
1134 people have browsed it

今日有针对Oracle NULL值有了相关实验. 对NULL 值插入的讨论。PL/SQL 中可以执行插入

今日有针对Oracle NULL值有了相关实验. 对NULL 值插入的讨论。

1, PL/SQL 中可以执行插入''或者NULL 的操作, 前提是栏位允许为空.

2, 可以对NULL进行一系列数据库运算. 如:

    SELECT ROUND(TO_NUMBER(MAX(A.IN_STATION_TIME)-SYSDATE))*24 FROM SFISM4.R_WIP_TRACKING_T A WHERE

      A.IN_STATION_TIME IS NULL

总结: 相应TO_NUMBER(NULL)也是可行, MAX 也是可行得,没有问题.

3, 回归主题, SQL 原本的样子要做成这个样:

  INSERT INTO SFISM4.R_DT_PCB_OVERTIME_T F

    (F.SERIAL_NUMBER,

    F.MODEL_NAME,

    F.LINE_NAME,

    F.PRODUCTION_TIME,

    F.INTERCEPT_TIME,

    F.EXPRIATUION_HOUR,

    F.STATE_FLAG,

    F.SEND_USER)

    (SELECT 'COCO111111111',

            'NIUBI1',

            '15555',

            NVL(NULL, MAX(A.IN_STATION_TIME)),

            SYSDATE,

            NVL(ROUND(TO_NUMBER(MAX(A.IN_STATION_TIME)-SYSDATE))*24, '0'),

            '1',

            '1'

      FROM SFISM4.R_WIP_LOG_T E

      WHERE E.SERIAL_NUMBER = 'COCO111111111') AND E.GROUP_NAME = 'SMTS')

结果, 部分执行后, 一条也不会插入. Insert 操作, 根据子查询, 如果子查询为空, 那么什么都不会插入.

4, 高潮来了-- 去掉子查询中的WHERE后, 即SELECT 条件都是肯定有值后, 居然将表E中全部记录插入. 啊, 幸亏是测试库, 数据量不大, 但是也执行了5s. 好吧, 异常. 全部删除!  可见根据结果集Insert还是需要慎重啊, 否则将多少垃圾数据在实际中.

5, 回归本意.  最终针对NULL值单独判定, 防止意外大量数据产生.

--------------------------------------分割线 --------------------------------------

rlwrap - 解决Linux下SQLPLUS退格、上翻键乱码问题

SQLPLUS spool 到动态日志文件名

Oracle SQLPLUS提示符设置

通过设置SQLPLUS ARRAYSIZE(行预取)加快SQL返回速度

PL/SQL Developer实用技巧分享

--------------------------------------分割线 --------------------------------------

本文永久更新链接地址:

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!