基于 JetBrains DataGrip 之 Oracle PL/SQL 攻略 (一)

在文集下的所有操作都是基于在 JetBrains DataGrip 上运行,图片的截图是快捷键的名字,请自行修改...

启动 DBMS_OUTPUT.PUT_LINE 功能 和 修改 dialog

Ctrl + F8
先全选再右键修改

创建代码块

generate

代码循环:从10倒数到0


SET SERVEROUTPUT ON;
DECLARE
  counter   NUMBER;
BEGIN
  FOR counter IN REVERSE 0..10 LOOP
    DBMS_OUTPUT.PUT_LINE (counter);
  END LOOP;
END;
/

命令行或者中断执行脚本

sqlplus username/password@database object.sql

接受用户键盘输入(替换变量),输出的是一条提示消息,若多条就需要循环遍历出来

提示输入值并打印出来

SET SERVEROUTPUT ON SIZE 1000000;
DECLARE
  id   NUMBER;
BEGIN
  SELECT SODTLID
  INTO id
  FROM AAAAAAA
  WHERE SOID = &SOID AND ROWNUM <= 1;
  DBMS_OUTPUT.PUT_LINE(id);
END;
/

原理剖析:
    关键是使用了 &符号 进行赋值,若想在其他的地方进行引用替换变量,则在键入 && 符号用来存储该值...
    也可以在DECLARE声明如下:

SET SERVEROUTPUT ON SIZE 1000000;
DECLARE
  souid_input NUMBER := &SOID;
  id   NUMBER;
BEGIN
  SELECT SODTLID
  INTO id
  FROM AAAAAAA
  WHERE SOID = souid_input AND ROWNUM <= 1;
  DBMS_OUTPUT.PUT_LINE(id);
END; 

    需要注意的是,如果声明的值的类型是变长字符型 VARCHAR2 ,则使用 单括号.
    obj VARCHAR(2) := '&String';

注释


-- 这句话是注释

/* 这是注释 */

引用代码块,好像不支持,提示出报错

<<dept_block>>

忽略替换变量

'\' 、还可以使用 SET DEFINE OFF ,另外 SET ESCAPE 设置转义字符

改变替换变量字符

SET DEFINE ^ 进行声明,之后就可以使用 ^ 代替 &

创建匹配数据库列类型的变量,在DECLAR声明,该优势在会随原型变化而变化....

id AAAAAAA.SODTLID%TYPE;

使用正则过滤无用的数据库表


^.[^0-9]*?(?<!BACKUP)(?<!BK)(?<!LOG)(?<!TMP)(?<!BAK)(?<!TEMP)(?<!TEST)$

(SYS_HM).*

table:(SYS_HM).*|| table:(WK_).* || view:(HM_).* || view:(WK_).*

配置常用的JVM 内存


-Xms720m -Xmx2048m

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,779评论 18 399
  • 前言 读《sql必知必会 第四版》随手做的笔记,写的比较乱,可读性并不好,读的是中文版,翻译过来的感觉有点怪怪的。...
    _老徐_阅读 655评论 0 0
  • 下午吃了饭,田扬回宿舍歇一会儿,喝一杯水。再找出书来,准备到自习室去。虽然大学里不乏懒惰之人,但勤快的人、或者说临...
    可爱胖子阅读 228评论 0 2
  • 匆匆的脚步 跨过九月的寒凉 魂牵梦萦的炽热 被推搡到无人问津的小巷 簌簌的叶 逃不过静美的枯黄 落寞的人 摘不到绚...
    霖子酱阅读 365评论 2 4
  • 很多时候,我就像一瓶子可乐,你简单地摇了摇,我表面上看去不动声色,其实内心早已开了花
    刃无心阅读 137评论 0 0