当前位置: 首页 > 编程日记 > 正文

Oracle 小知识点

-- 表
create table test (names varchar2(12),
                   dates date,
                   num   int,
                   dou   double);
-- 视图
create or replace view vi_test as
select * from test;

-- 同义词
create or replace synonym aa
for dbusrcard001.aa;

-- 存储过程
create or replace produce dd(v_id in employee.empoy_id%type)
as
begin
   
end
dd;

-- 函数
create or replace function ee(v_id in employee%rowtype) return varchar(15)
is
var_test varchar2(15);
begin
  return var_test;
exception when others then
   
end

-- 三种触发器的定义
create or replace trigger ff
alter delete
on test
for each row
declare
begin
   delete from test;
   if sql%rowcount < 0 or sql%rowcount is null then
      rais_replaction_err(-20004,"错误")
   end if
end


create or replace trigger gg
alter insert
on test
for each row
declare
begin
   if :old.names = :new.names then
      raise_replaction_err(-2003,"编码重复");
   end if
end


create or replace trigger hh
for update
on test
for each row
declare
begin
  if updating then
     if :old.names <> :new.names then
reaise_replaction_err(-2002,"关键字不能修改")
     end if
  end if
end

-- 定义游标
declare
   cursor aa is
      select names,num from test;
begin
   for bb in aa
   loop
        if bb.names = "ORACLE" then
        
        end if
   end loop;
   
end

-- 速度优化,前一语句不后一语句的速度快几十倍
select names,dates
from test,b
where test.names = b.names(+) and
      b.names is null and
      b.dates > date('2003-01-01','yyyy-mm-dd')


select names,dates
from test
where names not in ( select names
                       from b
                      where dates > to_date('2003-01-01','yyyy-mm-dd'))
                       

-- 查找重复记录
select names,num
from test
where rowid != (select max(rowid)
                 from test b
                where b.names = test.names and
                      b.num = test.num)


-- 查找表TEST中时间最新的前10条记录
select * from (select * from test order by dates desc) where rownum < 11

-- 序列号的产生
create sequence row_id
minvalue 1
maxvalue 8888888888888888888888
start with 1
increment by 1

insert into test values(row_id.nextval,....)

create table EMP
(
  EMPNO    NUMBER(4) not null,
  ENAME    VARCHAR2(10),
  JOB      VARCHAR2(9),
  MGR      NUMBER(4),
  HIREDATE DATE,
  SAL      NUMBER(7,2),
  COMM     NUMBER(7,2),
  DEPTNO   NUMBER(2)
)
tablespace USERS
  pctfree 10
  initrans 1
  maxtrans 255
  storage
  (
    initial 64K
    minextents 1
    maxextents unlimited
  );
comment on column EMP.EMPNO
  is '雇员编号';
comment on column EMP.ENAME
  is '雇员的名称';
comment on column EMP.JOB
  is '职位';
comment on column EMP.MGR
  is '该员工的上级的编号';
comment on column EMP.HIREDATE
  is '入职日期';
comment on column EMP.SAL
  is '薪水';
comment on column EMP.COMM
  is '奖金';
comment on column EMP.DEPTNO
  is '部门编号';
alter table EMP
  add constraint PK_EMP primary key (EMPNO)
  using index
  tablespace USERS
  pctfree 10
  initrans 2
  maxtrans 255
  storage
  (
    initial 64K
    minextents 1
    maxextents unlimited
  );
alter table EMP
  add constraint FK_DEPTNO foreign key (DEPTNO)
  references DEPT (DEPTNO);

********************************************************************

oracle--sign

取数字n的符号,大于0返回1,小于0返回-1,等于0返回0
  1. SQL> select sign(100),sign(-100),sign(0) from dual;
  2. SIGN(123) SIGN(-100)   SIGN(0)
  3. --------- ---------- ---------
  4. 1           -1         0 
********************************************************************

decode 用法:

转载于:https://www.cnblogs.com/haibin168/archive/2011/02/26/1959167.html

相关文章:

CC2540获取本机MAC地址

//获取自身蓝牙地址void GetOwnAddr(void){ static uint8 ownAddress[6] {0}; ownAddress[5] XREG(0x780E); ownAddress[4] XREG(0x780F); ownAddress[3] XREG(0x7810); ownAddress[2] XREG(0x7811); ownAddress[1] XREG(0x7812); ownAddress[0] XREG(0x7813);}转载于:h…

mysql的小练习

建立如下表&#xff1a; 建表语句&#xff1a; class表创建语句 create table class(cid int not null auto_increment primary key, caption varchar(32) not null)engineinnodb default charsetutf8;student表创建语句 create table student(-> sid int not null auto_inc…

针对 Windows Phone 7 上的独立存储的 Sterling

http://msdn.microsoft.com/zh-cn/magazine/hh205658.aspx转载于:https://www.cnblogs.com/thankchunzi/archive/2011/11/18/2254416.html

【Linux】Linux简单操作之文件管理

1、mkdir : 创建文件夹 2、rm &#xff1a; 删除文件或目录 注&#xff1a; 凡是涉及到路径&#xff0c;绝对路径相对路径都可以 &#xff08;1&#xff09;直接使用 rm 文件名可以删除文件&#xff0c;但删除不了文件夹 &#xff08;2&#xff09;删除时会有一行提示 如果…

phpmyadmin另类拿shell

发现了个PHPMYADMIN 结果弱口令登陆进去 爆出绝对路径 然后执行SQL语句发现导出SHELL的时候却发现缺少了import.php这个文件 结果没办法执行MYSQL语句&#xff01; 然后本地测试了下 发现另外的方法phpMyAdmin/sql.php?dbtest&tablea&printview1&sql_queryselect%…

第二章、IP协议详解

一、IP服务的的特点 IP协议是TCP/IP协议族的动力&#xff0c;他为上层协议提供的无状态无连接&#xff0c;不可靠的服务。 无状态是指IP通信双方不同步传输数据的状态信息&#xff0c;因此所有的ip数据报的发送&#xff0c;传出和接受都是相互独立的&#xff0c;没有上下文的联…

为绑定的NSArrayController设置默认的排序

当NSArrayController与一个class或者entity进行绑定&#xff08;Binding&#xff09;之后&#xff0c;可以为这个NSArrayController设置默认的排序。通过在Bindings Insepector中选择Controller Content Parameters -> Sort Descriptor进行默认排序的设定。 1、在.h文件中创…

快速求斯特林数总结(洛谷模板题解)

题目链接 第一类斯特林数行第一类斯特林数列第二类斯特林数行第二类斯特林数列 求一行第一类斯特林数 由第一类斯特林数的推论&#xff0c;\(x^{\overline{n}}\sum_i\begin{bmatrix}n\\i\end{bmatrix}x^i\)&#xff0c;分治FFT计算上升幂即可 \(O(nlog^2n)\)。 求一列第一类斯特…

【Linux】Linux简单操作之系统管理

1、date &#xff1a; 显示系统时间 注 &#xff1a;系统操作与所在的文件夹无关&#xff0c;在哪都能操作。 2、su &#xff1a; 切换账号 注&#xff1a; &#xff08;1&#xff09;如果高级用户切换低级用户可以直接切换&#xff0c;不用密码 &#xff08;2&#xff09;…

嵌入式开发博客收藏

http://hbhuanggang.cublog.cn 嵌入式linux之我行 http://blog.csdn.net/fudan_abc fudan_abc的Linux内核专栏 http://blog.chinaunix.net/space.php?uid20543672

【Python3.6+Django2.0+Xadmin2.0系列教程之一(入门篇-上)】环境搭建及项目创建

由于工作需要&#xff0c;接触了大半年时间的Djangoxadmin框架&#xff0c;一直没空对这块对进行相关的梳理。最近在同事的怂恿下&#xff0c;就在这分享下笔者的学习及工作经验吧。 好了&#xff0c;话不多说&#xff0c;下面开始进入正题&#xff1a; 转载请注明出处&#xf…

JavaScript深拷贝Json

今天因为项目需要写了个Json格式的深拷贝&#xff08;深度复制&#xff09;。很简单&#xff0c;没有做其他的判断&#xff0c;代码如下&#xff1a; function deepCopy(json){if(typeof json number || typeof json string || typeof json boolean){return json;}else if(t…

【Linux】Linux简单操作之压缩解压

一、tar &#xff1a; 归档 格式&#xff1a;tar 参数&#xff08;必须有&#xff09; 要被压缩的文件或目录 1、创建归档文件 格式&#xff1a; tar -zvcf 归档文件名 要归档文件列表 注意&#xff1a; &#xff08;1&#xff09;z是压缩 v是显示详细信息 c是创建压缩文件…

Firefox 的User Agent 将移除 CPU 架构信息

Mozilla 计划从 Firefox 的 User Agent&#xff08;用户代理&#xff09;和几个支持的 API 中移除 CPU 架构信息&#xff0c;以减少 Firefox 用户的“数字指纹”。Web 浏览器会自动向用户在应用程序中打开的网站显示信息&#xff0c;而用户代理会显示有关浏览器和浏览器版本、操…

工程师必读 微软如何部署Exchange2010

一年一度的IT技术盛典——微软TechEd2010大会将于2010年12月1日正式开幕。为了更好地为网友和读者报道今年的大会&#xff0c;我们IT168前方的记者在TechEd会场&#xff0c;为读者带来第一时间的报道。 在今天的大会现场&#xff0c;来自微软的高级顾问陈刘项为我们全面介绍了关…

线程范围内的数据共享

1、如果每个线程执行的代码相同&#xff0c;可以使用同一个Runnable对象&#xff0c;这个Runnable对象中有那个共享数据&#xff0c;例如&#xff0c;买票系统就可以这么做。 2、如果每个线程执行的代码不同&#xff0c;这时候需要用不同的Runnable对象&#xff0c;有如下两种方…

Setting the Reply-To Header in an Email using CDONTS.NewMail Object and CDO Message

代码 1 <%2 OptionExplicit3 4 DimobjMail5 DimstrSubject6 DimstrBody7 8 strSubject "This is a test email"9 strBody "This test email is using testdevasp.com "&_10 "as the sender email address but we are "&_11 "…

Codeforces Beta Round #95 (Div. 2) 部分解题报告 (dp,组合数,)

做这样的比赛既考快速编码的能力&#xff0c;还有快速思维的能力。本人很弱&#xff0c;跌了rating。。加油&#xff01;&#xff01;&#xff01;。。 第一题上来就把题意理解错了。。粗心啊。。直接模拟着做就行:1&#xff1a;如果字符串全是大写字母就进行大小写转换:2&…

【Linux】 Linux简单操作之网络通信和网络访问

一、网络通信 1、ifconfig &#xff1a; 查看ip信息 2、ping &#xff1a; 测试网络连通 格式 &#xff1a; ping ip或域名 注&#xff1a; 通过该测试你能知道你的计算机是不是能联网的。 二、网络访问 1、curl &#xff1a; 测试网络访问和模拟用户访问 2、wget &#x…

将类别加入到别人的名称空间内

怎样把自己的类别加入到别人的名称空间内&#xff0c;在引用时&#xff0c;能在别人的名称空间下使用到自己写的类别。 这是一位台湾朋友问及此问题&#xff0c;因此录制一个视频做演示&#xff1a; 视频文件格式&#xff1a;.wmv&#xff1b;大小&#xff1a;9,706KB&#xff…

Linux内核初期内存管理---memblock(转)

http://www.maxwellxxx.com/linuxmemblock转载于:https://www.cnblogs.com/erhu-67786482/p/8873112.html

看懂SqlServer查询计划(转)

转自&#xff1a;http://www.cnblogs.com/fish-li/archive/2011/06/06/2073626.html 对于SqlServer的优化来说&#xff0c;可能优化查询是很常见的事情。关于数据库的优化&#xff0c;本身也是一个涉及面比较的广的话题&#xff0c;本文只谈优化查询时如何看懂SqlServer查询计划…

openoj的一个小比赛(F题解题报告)poj3978(dp+素数筛选)

http://openoj.awaysoft.com:8080/judge/contest/view.action?cid47#problem/F 一个素数帅选法的题目&#xff0c;才开始直接就套模板结构tle应为被题目中的As many as 1000 lines, 给坑了总的时间消耗是1000*10^5.。这样暴力枚举的话肯定会超时&#xff0c;当时就急了&#x…

【Linux】Linux简单操作之管道与重定向

一、重定向 1、重定向 使用符号 > 例如&#xff1a; echo "hello world" > a.txt注&#xff1a;如果文件不存在则会自动创建文件 2、重定向覆盖&#xff1a; 代码实现&#xff1a; echo "hello world" > a.txt3、重定向追加&#xff1a; 使…

linux tc打造ip流量限制

tc是个配置Linux内核流量控制的工具 名字 tc - 显示&#xff0f;维护流量控制配置 摘要 tc qdisc dev DEV qdisc tc class dev DEV parent qdisc-id qdisc tc filter dev DEV protocol protocol prio priority filtertype flowid flow-id tc qdisc show tc class show dev DEV …

vue Element-ui 表格自带筛选框自定义高度

el-table中可以在一行的某列进行筛选&#xff0c;代码如下&#xff1a; <el-table-column prop"classOfTest" class"test" label"测试类名" :filters"classList" filter-placement"bottom-start" width"300" c…

【Linux】Linux简单操作之vi与vim编辑器

一、vi与vim的区别 vi类似于普通的记事本&#xff0c;没有字体颜色的变化&#xff0c;vim对一些关键字会进行变色处理 二、vi 1、启动vi编辑器 格式&#xff1a; vi 文件名 注&#xff1a; &#xff08;1&#xff09;如果文件存在&#xff0c;则打开该文件 &#xff08;2…

vectorbool不是容器

vector<bool>不是容器&#xff0c;为了节省空间&#xff0c;其内部是用一个bit来表示一个bool值的&#xff0c;operator[]不会返回一个指向bool值的引用&#xff0c;而是返回一个代理&#xff08;proxy&#xff09; 试图以数组的形式来使用vector<bool>会引发错误。…

.Net MVC3中取得当前区域的名字(Area name)

在代码中&#xff1a; ControllerContext.RouteData.DataTokens["area"] 在View中&#xff1a; ViewContext.RouteData.DataTokens["area"] 转载于:https://www.cnblogs.com/idlewater/archive/2011/11/29/2267892.html

草根创业都选择的是什么人?

前言&#xff1a;选合伙人和投资就像在选女朋友一样&#xff0c;要谨慎&#xff0c;甚至有时候宁缺毋滥。<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />曾经以为有了钱&#xff0c;就会找到需要的人&#xff0c;后来发现不是这…