oracel存储过程编写 以及plsql存储过程的debug
1、语法:
create or replace procedure messagebackup_createTable //此处存储过程名称不能超过30个字符
as tableName varchar2(100); //声明变量
tableCount Number;
thisYearMonth;
begin
thisYearMonth:=TO_CHAR(sysdate,'yyyyMM'); //给变量赋值使用 :=
tableName:='MESSAGEBACKUP_'||thisYearMonth; //oracle大小写敏感,尽量使用大写;使用变量连接是使用符号 ||变量
select count(1) into tableCount from user_tables where table_name = tableName; //如果上一行tableName的赋值使用的是小写,这块会出错,明明已经建好了这个表但是查询的时候还是0,缺又不能重新创建; 判断当前用户下是否有要创建的表,并将数量赋值给tableCount,select count(1) into tableCount from user_tables where table_name = tableName;
if tableCount=0 then
execute immediate 'create table '||tableName||' //execute immediate 立刻执行,如果当前存储结构下边用到当前创键的表格就不会报不存在的
as select * from MESSAGEBUCKUP_TEMP where 1=2'; //复制表结构而不复制表数据的oracle写法 如果需要新建很多表结构一样的表,可以把基本表结构建立出来,然后复制这个表结构,这样如果改了基本表结构就只需要修改基础表结构,不够用改存储结构;
execute immediate 'create index IDX_MSG_'||thisYearMonth||'_MOBILE' on '||tableName||' (MOBILE)'; //在表tableName的Mobile字段建立索引
EXECUTE IMMEDIATE 'create sequence MSGBAK_'||thisYearMonth||'_ID_SEQ //建立sequence 主要是为了主键自增
INCREMENT BY 1
START WITH 1
NOMAXVALUE
NOCYCLE
NOCACHE';
EXECUTE IMMEDIATE 'create or replace trigger T_MSGBAK_'||thisMonth||'_ID //建立触发器为了表新增行的时候触发给行的ID设置自增值
before insert on '||tableName1||'
for each row
begin
select MSGBAK_'||thisMonth||'_ID_SEQ.nextval into :new.id from dual;
end;'; // 触发器结束需要有分号 ; 也就是说在 ''号里边的分号必须有不然会报错;
end if; //结束一个if条件
if xxx then xxxx end if; //另一个if条件
END messagebackup_createTable; //结束这个存储过程
2、执行存储过程
begin
messagebackup_createTable;
end;
3、plsql如何大小写切换
选中需要改变大小写的文本单击右键-->选项-->选择大写(小写)
4、plsql存储过程的debug
登录plsql选择MyObject --> procedure -->选中要debug的存储过程单击右键 --> test(测试)-->弹出窗点击搜索那个图片启动debug,右边绿色三角符号为运行,小的粉色方形按钮为单步跟踪,单步跳出等;
oracel存储过程编写 以及plsql存储过程的debug的更多相关文章
- Oracle/PLSQL存储过程详解
原文链接:https://blog.csdn.net/zezezuiaiya/article/details/79557621 Oracle/PLSQL存储过程详解 2018-03-14 17:31: ...
- 你真的会玩SQL吗?玩爆你的数据报表之存储过程编写(上)
你真的会玩SQL吗?系列目录 你真的会玩SQL吗?之逻辑查询处理阶段 你真的会玩SQL吗?和平大使 内连接.外连接 你真的会玩SQL吗?三范式.数据完整性 你真的会玩SQL吗?查询指定节点及其所有父节 ...
- mysql存储过程编写-入门案例-遁地龙卷风
(-1)写在前面 这篇文章只是简要的叙述了mysql存储过程编写的基本概念. 我使用的mysql版本是5.7.9-log. 参照<<深入浅出MySQL>>. (0) delim ...
- Atitit mysql存储过程编写指南
Atitit mysql存储过程编写指南 1.1. 设定参数与返回值 `obj_id` int ,,返回类型 varchar(200)1 1.2. 在语句中使用传入的obj_id参数1 1.3. 测 ...
- plsql 存储过程 测试
plsql 存储过程 测试 CreationTime--2018年8月14日09点54分 Author:Marydon 1.找到要运行的存储过程-->选中-->右键-->测试 2 ...
- sybase的存储过程编写经验和方法
1.如果用到其他库的Table或View,务必在当前库中建立View来实现跨库操作,最好不要直接使用“databse.dbo.table_name”,因为sp_depends不能显示出该SP所使用的跨 ...
- plsql 存储过程 介绍。
/* 7-22 知识总结? 1. 存储过程 2.函数 3.包 */ /*1.什么是存储过程? 语法? 存储过程:类似于Java中的方法:完成一个特定的功能,一系列代码 (增删改操作和一些逻辑判断,se ...
- MySQL存储过程详解 mysql 存储过程
原文地址:MySQL存储过程详解 mysql 存储过程作者:王者佳暮 mysql存储过程详解 1. 存储过程简介 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储 ...
- MySQL存储过程详解 mysql 存储过程(二)
mysql存储过程详解 1. 存储过程简介 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL ...
随机推荐
- Optimizing Your App for Today’s Internet
这个 session 的主讲人感觉是一个很典型的美国人,年纪也不小. 网络现状 四十亿人在使用因特网,大概占有世界人口的一半.上网人数的增长在减缓. 但是网络仍然在增长.增长点主要在物联网.第三世界国 ...
- iOS —— GCD 详解
一.什么是GCD Grand Central Dispatch (强大的中枢调度器) ,是异步执行任务的技术之一.纯C语言,有很多强大的函数. 二.GCD的优势 (1)GCD是苹果公司为多核并行运算提 ...
- node 本地静态服务器
直接上代码 const connect = require("connect"); const serveStatic = require("serve-static&q ...
- leetcode-914-卡牌分组
题目描述: 给定一副牌,每张牌上都写着一个整数. 此时,你需要选定一个数字 X,使我们可以将整副牌按下述规则分成 1 组或更多组: 每组都有 X 张牌. 组内所有的牌上都写着相同的整数. 仅当你可选的 ...
- 【2018北京集训6】Lcm DFT&FWT
首先我们来看下此题的模数232792561. 232792561=lcm(1,2,3.......20)+1.这个性质将在求值时用到. 我们将n分解质因数,令$m$为$n$的素因子个数,设n=$\Pi ...
- openerp QWeb
1.web 模块 注意,OpenERP 模块中 web 部分用到的所有文件必须被放置在模块内的 static 文件夹里.这是强制性的,出于安全考虑. 事实上,我们创建的文件夹 CSS,JS 和 XML ...
- 剑指offer四十七之求1+2+3+...+n
一.题目 求1+2+3+...+n,要求不能使用乘除法.for.while.if.else.switch.case等关键字及条件判断语句(A?B:C). 二.思路 1.需利用逻辑与的短路特性实现递归终 ...
- springboot打包成jar包后找不到xml,找不到主类的解决方法
springboot打包成jar包后找不到xml,找不到主类的解决方法 请首先保证你的项目能正常运行(即不打包的时候运行无误),我们在打包时经常遇到如下问题: springboot打包成jar包后找不 ...
- 【数组】Find Minimum in Rotated Sorted Array
题目: Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e., 0 1 2 4 5 6 7 ...
- Android 开发工具类 05_Logcat 统一管理类
Logcat 统一管理类: 1.默 认tag 的函数: 2.自定义 tag 的函数. import android.util.Log; // Logcat 统一管理类 public class L { ...