随笔分类 - Oracle
关于Oracle数据库的一些常用语句
摘要:mysql存储过程详解1. 存储过程简介 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。一个存储过程是一个可编程的函数,它在数据库中创建并保存。它可以有SQL语句和一些特殊的控...
阅读全文
摘要:1、问题定义 闪回是dba做的工作。现在也可授权给某个用户。 闪回的定义:就是将用户错误的操作回恢到以前的状态。即使你的事务提交的commit。 如果你删除了一个表。Drop table(DDL) 不用commit直接生效的。 闪回:flashback。 概念: Oracle默认有2G硬盘空间,这2G的数据,保存的是用户的某些操作记录。如果用户操作的数据在这2G之内的。则可以条件...
阅读全文
摘要:事务 1 事务定义 数据库事务是SQL语句的组合作为一个“工作单元”.要么全部完成,要么全部不做. 每个事务都有一个开始和一个结束。 2 事务开始 1. 你连接到数据库并执行DML语句(INSERT, UPDATE,或 DELETE). 2. 前一个事务结束 并且你输入了一个DML语句. 3 事务的结束 1. 你执行了 COMMIT 或 ROLLBACK命令. 2. 你执行了一...
阅读全文
摘要:inner join(内连接) 内连接也称为等同连接,返回的结果集是两个表中所有相匹配的数据,而舍弃不匹配的数据。也就是说,在这种查询中,DBMS只返回来自源表中的相关的行,即查询的结果表包含的两源表行,必须满足ON子句中的搜索条件。作为对照,如果在源表中的行在另一表中没有对应(相关)的行,则该行就被过滤掉,不会包括在结果表中。内连接使用比较运算符来完成。内连接可分为两种。 1. 等值连接 ...
阅读全文
摘要:--在一中我们介绍了实现过程select *from stud;declarecursor mycur is select id,name from stud;--1声明v_id integer;v_name varchar(30);beginopen mycur;--2打开游标loop--3遍历fetch mycur into v_id,v_name;exit when mycur%not...
阅读全文
摘要:--指向表行的指针,一次一行,一般向前移动 Resultset--游标永远代代表的是一行数据。/*使用步骤第一步:声明游标,就像是声明一个变量样。 游标的关键字就是cursor. Declare --游标关键字在前面 Cursor myCusor is select * from someTable; B...
阅读全文
摘要:/*同一表使用所有条件Create or replace trigger t5 Before insert,delete,update on 表名 For each row //plsql块*//*在触发器中,还有三个变量:都是boolean INSERTING 正在执行insert吗。 DELETING UPDATING*/select TA...
阅读全文
摘要:--触发器的应用限制用户写入--具体功能:在写入一个表之前,限制必须要在周一到周5和工作时间8:00~18:00create or replace trigger tri3 before insert on trigger_tdeclare--声明时间v_dt integer;beginsel...
阅读全文
摘要:create table trigger_t2(id int,name varchar(30),age int);/*--创建一个before update的触发器-控制每一行,行级--只有行级的才会有:new,:old*/create or replace trigger t4 before ...
阅读全文
摘要:/*Trigger是作用在表上,或是数据库上,或是用户上。当用户在表上(其他)做某些操作时,trigger将会自己执行。 可以在表上:insert,update,delete Trigger只对表的写入,修改、删除。*//*语法CREATE [OR REPLACE] TRIGGER trigger名称 { BEFORE | AFTER | INSTEAD OF } – 在什...
阅读全文
摘要:--function/*函数是有返回值。-只能有一个返回值。语法 Create or replace func1(参数) Return varchar2 As Pl/sql块 Return ‘Jack’;*/--创建和调用create or replace function f1return varchar2as--声明变量beginre...
阅读全文
摘要:--一异常处理的代码--sqlcode 异常编号--sqlerrm 信号字符串/*在plsql 块中格式Declare 变量Begin 代码块 EXCEPTION when 异常的名称 then 如生上面的异常时做的具体工作。End;*/set serveroutput on;create or replace procedure ...
阅读全文
摘要:--create table account( id varchar(32) not null, name varchar(30), money numeric(10,2), constraint a_pk primary key(id));--历史表select * from hi...
阅读全文
摘要:--给plsql块设置一个名称保存下来便于调用/*Create or replace procedure 名称As 声明变量Begin //代码块End;--plsql块Declare 变量声明Begin 代码End;*/--声明一个基本guochengselect * fr...
阅读全文
摘要:--利用loop输出1到100的值并求和---loop exit end loopset serveroutput on;declarev_i integer:=1;v_sum integer:=0;beginloopif(v_i>100)thenexit;end if;DBMS_OUTPUT.PUT_LINE(v_i);v_sum:=v_sum+v_i;v_i:=v_i+1;en...
阅读全文
摘要:set serveroutput on;declare --默认值的bianliangv_a number:=0;--v_b integer;--用stud.id 的类型v_id stud.id%type;--nm stud.name%type;beginnm:='jack';v_id:=89;DBMS_OUTPUT.PUT_LINE('你的名字是:'||nm||'你的id'||v_id);...
阅读全文
摘要:- --pl/sql Procedural Language /sql--被数据库编译保存,由用户调用--程序块/*语法 Declare – 声明变量 --声明变量 Age int; //没有默认值的变量 Age2 int := 0;begin //写正常的处理语句 dbms_output.put_line(‘Hello’...
阅读全文
摘要:desc stud;名称 空值 类型 ---- -------- ------------ ID NOT NULL NUMBER(38) NAME VARCHAR2(30) desc sc 名称 空值 类型 --- -------- ---------- SID NOT NULL...
阅读全文
摘要:--表的另一种形式,看起来很像表--用view可以实现复杂的query====select--创建一个视图--当经常使用这个查询时封装成view/*create or replace 表示在创建视图时,如果已存在同名的视图,则重新创建,如果只用create 创建,则需将原有的视图删除后才能创建*/d...
阅读全文
摘要:/*--指定cache的值 如果指定CACHE值 oracle就可以预先在内存里面放置一些sequence 这样存取会快些 cache里面 的取完 oracle自动再取一 组到 cache 使用cache或许会跳号 比如 数据库突不 正常down掉(shutdown abort),cache 中的sequence 就会丢失. 所以可以在 create sequence 的时候用no...
阅读全文

浙公网安备 33010602011771号