PL/SQL程序设计_基本语法

2023-11-11


DECLARE
V_DATE DATE := SYSDATE;
v_var VARCHAR2(20);
V_VALID BOOLEAN;
BEGIN
  IF V_VAR IS NULL THEN
    DBMS_OUTPUT.PUT_LINE('V_VAR IS NULL');
    END IF;
    INSERT INTO T_TEST VALUES (1,'zizhu');
    COMMIT;   
    V_VAR := 'HELLO,WORLD';
    V_VALID := 'hello,world' LIKE V_VAR;--LIKE 比较字符串是否相等
    DBMS_OUTPUT.PUT_LINE(V_VAR);
    DBMS_OUTPUT.PUT_LINE(TO_CHAR(V_DATE,'YYYY-MM-DD HH:MI:SS'));
    DBMS_OUTPUT.PUT_LINE('连接' || '两个' || '字符串');    
END;
/

--使用dml语句
DECLARE
V_ID BINARY_INTEGER := 23;
V_NAME VARCHAR2(30) := 'zizhu8';
BEGIN
  DELETE FROM T_TEST;
  INSERT INTO T_TEST VALUES (V_ID,V_NAME);
  COMMIT;
  END;
/

--使用select语句
DECLARE
V_COUNT NUMBER(4);
V_ID BINARY_INTEGER;
V_NAME VARCHAR2(30);
BEGIN
  SELECT COUNT(*)
  INTO V_COUNT
  FROM T_TEST;
  DBMS_OUTPUT.PUT_LINE('T_TEST表中的数据共有:' || V_COUNT || '条');
  SELECT ID,NAME
  INTO V_ID,V_NAME
  FROM T_TEST;
  DBMS_OUTPUT.PUT_LINE(V_ID || '对应' || V_NAME);
  END;
/

--sql语句的基本使用
DECLARE
V_COUNT BINARY_INTEGER;--专门计数使用的类型,效率比较高
V_ID NUMBER(4);
V_NAME VARCHAR2(30);
BEGIN
  SELECT COUNT(*)
  INTO V_COUNT
  FROM T_TEST;
  IF V_COUNT = 0 THEN
  DBMS_OUTPUT.PUT_LINE('T_TEST表中没有数据');
  DBMS_OUTPUT.PUT_LINE('向T_TEST表中插入一条数据后....');
  INSERT INTO T_TEST SELECT * FROM T_TEST2; 
  END IF;    
  SELECT COUNT(*)
  INTO V_COUNT
  FROM T_TEST;
  DBMS_OUTPUT.PUT_LINE('T_TEST表中共有' || V_COUNT || '条数据');
  
  IF V_COUNT = 1 THEN
  SELECT ID,NAME
  INTO V_ID,V_NAME
  FROM T_TEST;
  DBMS_OUTPUT.PUT_LINE('T_TEST表中的数据有:' || V_ID || '--' || V_NAME);
  END IF;
  
  V_ID := 1;
  V_NAME := 'zizhu8';
  DBMS_OUTPUT.PUT_LINE('修改这条数据' || V_ID || '--' || V_NAME);
  UPDATE T_TEST SET ID = V_ID,NAME = V_NAME WHERE ID = (SELECT ID FROM T_TEST WHERE ROWNUM <= 1);
  
  SELECT ID,NAME
  INTO V_ID,V_NAME
  FROM T_TEST;
  DBMS_OUTPUT.PUT_LINE('修改T_TEST表中的数据后:' || V_ID || '--'  || V_NAME);
  
  DELETE FROM T_TEST WHERE ID = (SELECT ID FROM T_TEST WHERE ROWNUM <= 1);
  DBMS_OUTPUT.PUT_LINE('删除第一条记录后....');
  
  SELECT COUNT(*)
  INTO V_COUNT
  FROM T_TEST;
  DBMS_OUTPUT.PUT_LINE('T_TEST表中共有' || V_COUNT || '条数据');
  COMMIT;
  END;
/


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PL/SQL程序设计_基本语法 的相关文章

  • DateTimeFormatter 支持单个数字的月份日和年份

    DateTimeFormmater似乎无法处理该月的个位数日期 String format MM dd yyyy String date 5 3 1969 System out println new SimpleDateFormat fo
  • 按 ID 分组和按日期排序

    lastComments this gt Comment gt find all array fields gt array Comment news id Comment date Comment content group gt arr
  • 考虑周末和节假日,添加迄今为止的工作日

    给定一个日期和假期列表 如何将给定的工作日数添加到该日期 对于不考虑假期的较小问题有很多解决方案 例如参见向日期添加天数但不包括周末 https stackoverflow com questions 279296 adding days
  • 如何将数据插入 Microsoft Access 数据库?

    我正在尝试将数据插入 Microsoft Access 数据库 我将数据插入到 Access 数据库中 但只有第一次和第二次显示我插入的数据 当我重建应用程序时 我插入的数据消失了 我不知道他们去了哪里并且没有出现 我使用 C 和 NET
  • Iphone 上的 Javascript 日期解析

    我正在开发一个针对移动设备的离线 Javascript 网站 iPhone 就是这样的一种移动设备 我正在尝试从 REST API JSON 对象的成员 解析日期 我在用着 Date parse 2010 03 15 10 30 00 这适
  • oracle日期序列?

    我有一个 oracle 数据库 我需要一个包含 2 年所有日期的表 例如来自01 01 2011 to 01 01 2013 首先我想到了一个序列 但显然唯一支持的类型是数字 所以现在我正在寻找一种有效的方法来做到这一点 欢呼骗局 如果您想
  • 为什么 as.character() 返回日期列表中的整数?

    我惊讶地发现 R 中出现以下行为 as character c Sys Date gt 1 2018 02 05 as character list Sys Date gt 1 17567 为什么会出现这种情况 也就是说 显然 17567
  • 用于不规则时间序列的滚动窗口函数,可以处理重复项

    我有以下数据框 grp nr yr 1 A 1 0 2009 2 A 2 0 2009 3 A 1 5 2009 4 A 1 0 2010 5 B 3 0 2009 6 B 2 0 2010 7 B NA 2011 8 C 3 0 2014
  • MySQL INSERT 无需指定每个非默认字段(#1067 - “表”的默认值无效)

    我已经见过好几次了 我有一台服务器允许我插入一些值 而无需指定其他值 如下所示 INSERT INTO table SET value a a value b b value c 是一个没有设置默认值的字段 但在这里工作正常 当脚本移动到新
  • 合并两个 Joda-Time Interval 对象

    In 乔达时间 http www joda org joda time 有什么办法可以创建一个Interval http www joda org joda time apidocs org joda time Interval html作
  • 如何:使用 SQL Server 2008 创建自动更新修改日期的触发器

    很高兴知道如何创建一个自动更新的触发器modifiedDate我的 SQL Server 表中的列 Table 时间输入 Id PK UserId FK Description Time GenDate ModDate 触发代码 TR Ti
  • 将两个 Int 值相除以获得 Float 的正确方法是什么?

    我想分两份IntHaskell 中的值并获得结果Float 我尝试这样做 foo Int gt Int gt Float foo a b fromRational a b 但 GHC 版本 6 12 1 告诉我 无法将预期类型 Intege
  • 我可以在C中直接比较int和size_t吗?

    我可以比较一个int and a size t像这样的变量 int i 1 size t y 2 if i y Do something 或者我必须输入其中之一 只要满足以下条件 它就是安全的int为零或正数 如果它是负数 并且size t
  • 将人类日期(当地时间 GMT)转​​换为日期

    我正在服务器上工作 服务器正在向我发送 GMT 本地日期的日期 例如Fri Jun 22 09 29 29 NPT 2018在字符串格式上 我将其转换为日期 如下所示 SimpleDateFormat simpleDateFormat ne
  • 返回上个月的日期时间对象

    如果 timedelta 在它的构造函数中有一个月份参数就好了 那么最简单的方法是什么 EDIT 正如下面指出的那样 我并没有认真考虑这一点 我真正想要的是上个月的任何一天 因为最终我只会获取年份和月份 因此 给定一个日期时间对象 返回的最
  • 从日期变量创建月末日期

    我有一个包含日期变量的大型数据框 它反映了该月的第一天 有没有一种简单的方法来创建代表该月最后一天的新数据框日期变量 以下是一些示例数据 date start month seq as Date 2012 01 01 length 4 by
  • Oracle:按月分区表

    我的解决方案 德语几个月 PARTITION BY LIST to char GEBURTSDATUM Month PARTITION p1 VALUES JANUAR PARTITION p2 VALUES Februar PARTITI
  • 获取今天的科普特日期

    我正在寻找获取今天的科普特日期与任何代码类型类似php or javascript在我的网站标题中显示科普特日期 我需要阿拉伯语或英语版本 我试图找到它 但没有找到类似的英文内容 参考 http www copticchurch net e
  • php基于onclick函数输入日期类型

    用户选择日期 月份和年份 然后按一个按钮 根据他选择的日期向他显示数据库的值 不知道代码问题出在哪里
  • 基于浏览器位置/设置的 Angular 2 Datepipe 格式

    有没有办法使 datepipe 动态化 以便如果它是美国浏览器 则 d atepipe 返回美国格式 yyyy MM dd 而当它是欧洲浏览器时 它返回欧洲格式 dd MM yyyy Thanks 这可能很困难 尤其是在使用 aot 时 它

随机推荐

  • webpack学习4:热模替换、devtool、准备生产环境、清除打包文件目录

    热模替换功能 之前的webpack dev server是全部刷新 热模替换是局部刷新 详细配置见官网 指南 gt 模块热替换 修改devServer配置devServer contentBase resolve dirname build
  • Solr 实体嵌套

    公司主要测业务是 城市档案馆建设 一份案卷包含一个或多个业务实现 现在需要solr 索引库能够已经相关业务事项的 证号 单位 来进行相关功能检索 相关功能业务实现 以案卷为主表嵌套其他业务事项表 在solr的 data config xml
  • jmeter用循环控制器和计数器,直接查询数据库获取数据作为后续接口的参数

    一 导入mysql驱动jar包 二 添加线程组 jdbc配置文件 三 添加jdbc请求 设置参数变量 四 添加循环控制器 然后在其中加入计数器如下 五 用函数助手生成 V buyer code M 和 V buyer shortname N
  • 蓝桥杯JAVA B组 2022第四题 最少刷题数

    一 题目描述 二 思路分析 1 对输入的刷题数进行排序 2 分情况考虑 奇数情况下 超过中间值才能满足全班刷题比他多的学生数不超过刷题比他少的学生数 偶数情况下需要等于中间偏大的值就可以满足条件 三 代码 import java util
  • 西门子s300编程实例_plc西门子s300编程 西门子编程1000例

    西门子PLCS 200与S300 400系列编程电缆可以同意吗 西门子PLC S 200与S300 400系列编程电缆 如果是USB原装的 可以通用 价格2000元左右 西门子PLC S 200编程线型号PC PPI或者USB PPI 山寨
  • React 窗口防抖

    假如有这种需求 浏览器的窗口不断缩小变大 此时页面的布局不会自动刷新 需要手动刷新页面才会自适应大小 此时我们立马就会想到使用windows的onresize方法 window onresize gt 重新渲染画面 root render
  • 一起学nRF51xx 22 -  实现一个具体SVC调用功能的demo

    前言 上一节 一起学nRF51xx 21 蓝牙项目工程的初始化流程解读 讲到nordic的蓝牙协议栈是通过SVC来实现APP与协议栈之间通接口调用的 那么如何来实现一个具体SVC调用功能的程序呢 本节将带大家解决这个问题 示例详解 基于硬件
  • 【Python实战】数据预处理(数据清理、集成、变换、归约)

    Python实战 数据预处理 前言 数据预处理概述 数据清理 异常数据处理 1 异常数据分析 2 异常数据处理方法 缺失值处理 噪声数据处理 数据集成 1 实体识别 2 冗余属性 3 数据不一致 数据变换 1 使用简单的数学函数对数据进行变
  • 可验证延迟函数(VDF)

    干货 可验证延迟函数 VDF 自从以太坊将可验证延迟函数 Verifiable Delay Function VDF 列入研究计划并打算在以太坊 2 0 使用之后 VDF 得到了广泛的关注 VDF 这个概念最初由斯坦福大学密码学教授 Dan
  • osgEarth的Rex引擎原理分析(二十)osgEarth::TerrainEngineNode中setMap方法作用

    目标 十二 中的问题12 不同于派生类RexTerrainEngineNode中setMap的内容 详见 十二 在RexTerrainEngineNode执行setMap时会首先调用TerrainEngineNode的setMap 这里主要
  • NCRE网络技术知识点

    备考NCRE的三级网络技术 主要以刷题为主 考试大部分是题库中的原题 刷题的过程也要主要总结和复习 因为题库有很多重复的题目 重复的知识点 但是考试的时候记忆不清晰的话很容易重复犯错 弹性分组环 RPR 中每一个节点都执行SRP公平算法 与
  • CC攻击是怎么查看和预防的,云服务器有没有办法防止CC攻击

    网站被CC攻击后会出现访问速度很慢 影响用户体验 被搜索引擎K站 排名消失 那么 怎么排查自己被CC了呢 所谓的CC攻击 就是攻击者借助代理服务器生成指向受害主机的合法请求 从而实现DDOS和伪装 1 如果网站是动态网站 比如asp asp
  • Flask实现用户登录注册(附前后端源码)

    效果展示 登录 注册 主页面 项目结构 项目结构如下 项目采用蓝图进行视图函数的管理 每个功能被放在一个小的app中 登录和注册功能放在了app login文件夹中 后端Python代码 app login中的 init py创建了一个蓝图
  • Ubuntu20安装gcc11

    Ubuntu20默认情况下没有安装gcc和g 等工具 最近学习C 20的协程编程 需要将g cc 直接升级到11 下面介绍下方法 首先 添加安装源 sudo add apt repository y ppa ubuntu toolchain
  • C语言学习笔记(六)

    1 C语言关键字 C语言的32个基本关键字 c语言关键字 鵛的博客 CSDN博客 2 注意 define不是关键字 define是编译器的预编译指令 是编译器实现的 不是C语言的内容
  • CentOS安装TexLive2023

    这里写自定义目录标题 下载 wget https mirrors tuna tsinghua edu cn CTAN systems texlive Images texline 版本 iso wget https mirrors tuna
  • 虚函数与虚函数表详解

    虚函数的定义要遵循以下重要规则 1 如果虚函数在基类与派生类中出现 仅仅是名字相同 而形式参数不同 或者是返回类型不同 那么即使加上了virtual关键字 也是不会进行滞后联编的 2 只有类的成员函数才能说明为虚函数 因为虚函数仅适合用与有
  • Android studio 启动指定的activity

    Android studio的强大就不用多说了 今天说一下studio怎么启动到指定的Activity 场景 有如下5个Activity MainActivity Activity2 Activity3 Activity4 Activity
  • 体验一个全新的RTOS-QNX系统功能介绍

    锋影 e mail 174176320 qq com QNX的简单的介绍 这个我就很惭愧的引用一下官方的一些说法 QNX Quick Unix Unix AT T QNX 实时操作系统是由加拿大著名的QNX SOFTWARE SYSTEMS
  • PL/SQL程序设计_基本语法

    DECLARE V DATE DATE SYSDATE v var VARCHAR2 20 V VALID BOOLEAN BEGIN IF V VAR IS NULL THEN DBMS OUTPUT PUT LINE V VAR IS