精华内容
下载资源
问答
  • oracle 数据库 函数调用 实验六

    千次阅读 2018-09-28 19:07:01
    系别   班级   学号   ... Oracle数据库应用 实验日期   实验名称  PL/SQ...

    系别

     

    班级

     

    学号

     

    姓名

     

    课程名称

    Oracle数据库应用

    实验日期

     

    实验名称

     PL/SQL编程

    成绩

     

    实验目的:

    掌握各种流程控制语句;

    掌握用户自定义函数的使用。

    掌握包的使用

    实验条件:

    微机1台、Oracle 11g

    实验内容与步骤(结果抓图)

    1. 完成P158上机指导,并测试。

    2、在scott模式下建立包pkg1,包含如下函数(提示:先定义包头,再定义包体):

    (1)函数fGetName, 能够根据员工编号获取姓名

     

     

     

     

    (2)函数fRaiseSalary, 根据雇员编号,计算提升后的工资,规则如下:

    如果职位(JOB属性)是CLEARK工资增长5%;

    如果职位是SALESMAN,工资增长8%;

    如果职位是MANAGE,工资增长10;

    如果职位是ANALYST,工资增长20%;

    如果职位是PRESIDENT工资不涨。

     

     

     

    3、函数调用

    (1)调用fGetName获取编号为7499员工的姓名,并输出结果。  

    (提示:调用方法为:包名.函数名(参数))

    (2)调用fRaiseSalary获取“7499薪金,并输出结果。

     

    实验总结(结论或问题分析):


     

    create or REPLACE  package pkg1 is
       function fGetName(num_empno emp.empno%TYPE) RETURN varchar2
      function fRaiseSalary(num_empno emp.empno%TYPE) return NUMBER;  pkg1;
    
    

     

    
    
    create or replace
    package body pkg1 is
        function fGetName(num_empno emp.empno%TYPE)) RETURN varchar2 is
         num_ename emp.ename%type;
    BEGIN 
      select Ename into num_ename from emp 
      where empno=num_empno;
      RETURN num_ename;
    end fGetName;
    
     

     function fRaiseSalary(num_empno emp.empno%TYPE) return NUMBER AS
       num_sal number;
      num_job emp.job%type;
       Balancer number(3,2);
      BEGIN
      select job ,sal into num_job, num_sal  FROM emp where empno= num_empno;
         IF num_job>'CLEARK' then
    Balancer:=0.05;
    
    ELSIF num_job>'SALESMAN'  then
     Balancer:=0.08;
    ELSIF num_job>'MANAGE' then
    Balancer:=0.1;
       Elsif num_job>'ANALYST' then
      Balancer:=0.2;
    
     Elsif  num_job>'PRESIDENT' then
      Balancer:=0.00;
    END IF;
        RETURN num_sal*(1+balancer);
      END fRaiseSalary;
    Return num_sal*(1+balance);
    end fRaiseSalary;
    
    end pkg1;
    
    
    select pkg1. fGetName(‘7499’)from duAl
    begin
    dbms_output.put_line(pkg1. fRaiseSalary (‘7499’) );
    end;
    
    
    
    
    
    

     

    展开全文
  • Oracle数据库中的函数和触发器

    千次阅读 2013-10-02 14:51:43
    函数: ...弹出的框中输入函数名和返回值(返回值是必须的),参数可以不写。定义如下,创建一个无参的函数: /** 函数和存储过程非常的相似,唯一的不同的就是函数有返回值。 **/ create or re

    函数:

    • 函数和存储过程非常的相似,唯一的不同就是函数具有返回值。而存储过程是没有返回值的。
    • 函数的定义:
      • 在pL/Sql developer工具左侧选择“Function”,右键新建就行。在弹出的框中输入函数名和返回值(返回值是必须的),参数可以不写。定义如下,创建一个无参的函数:
        /**
        函数和存储过程非常的相似,唯一的不同的就是函数有返回值。
        **/
        
        create or replace function firstFun return varchar2
        is
         
        begin
          return 'Hello World';
        end firstFun;

      • 创建一个有参数的函数:
        /**
          计算年薪是多少?
        **/
        create or replace function paramFun(salary number) return  number
        is
         
        begin
          return salary*12;
        end paramFun;

      • 在begin中的写法和存储过程一样。
      • 函数的运行和存储过程的一样。

    包的介绍:

    • 包的组成:
      • 包头(package):包头部分申明包内数据类型,常量,变量,游标,子程序和异常错误处理,这些元素为包的公有元素。
      • 包主体(package body):包主体则是包定义部分的具体实现,它负责为包头中所声明子程序提供具体的实现,在包主体中还可以声明包的私有元素。
      • 包头和包主体分开编译,并作为两个分开的对象分别存放在数据库字典中。
    • 创建方法:
      • 在开发工具PL/SQL Developer左侧有Packages右键点击新建。输入name值,创建包。会出现两个编辑框。一个是头一个是主体,区别图标不一样。
      • 一个简单的入门案例:
        /**
          这里是包头,主要是对数据的定义
        **/
        create or replace package firstPack is
           --定义一个变量
          v_bonus number:=200;
        --定义一个函数
          function yearSalary(salary number) return number;
          --定义一个存储过程
          procedure myrop;
          
        end firstPack;
        /**
        包主体:对申明的实现
        计算年薪
        年薪=月薪*12+奖金
        **/
        create or replace package body firstPack is
        
        --对包头申明函数的实现
         function yearSalary(salary number) return number 
           is
          begin
            return salary*12+v_bonus;--这里用到了前面申明的变量
          end;
        --对存储过程的实现
         procedure myrop is
           begin
             --向学生表插入一条数据
                   insert into tab_stu(stu_id,stu_name,stu_age,class_id) values(9,'凯南',21,2);
                   commit;
           end;
        end firstPack;


    Oracle中的触发器:

    • 触发器定义:
      • 触发器是在数据库里以独立的对象存储,它与存储过程不同的是当然也就是和函数的不同。存储过程需要其他程序来启动运行或直接启动,而触发器是由一个事件来启动的。
      • 即触发器是当某个事件发生时自动化的隐式运行。并且,触发器不能接受参数。所以触发器就叫触发或点火。
      • Oracle事件值的是对数据库的表进行的insert,update及delete操作或对视图进行类似的操作。Oracle将触发器的功能扩展到了DDL(数据库定义语言)触发,包括数据库启动与关闭等系统事件。
      • 就像xml解析的一种Sax解析,也是基于事件驱动的。
    • 触发器的种类(三种):
      • DML触发器:
        • Oracle可以在DML语句进行触发,可以在DML修改前或后进行触发,并且可以对每个行(行级)或语句操作上进行触发。(insert,update,delete)
      • 替代触发器:
        • 这是一种专门为视图操作的一种触发器,用的很少。
      • 系统触发器:
        • 可以在Oracle数据库系统的事件中进行触发,如执行DDL或Oracle系统启动与关闭等系统事件。使用也比较少。
    • 创建触发器:
      • 在PL/SQL Developer的左侧找到triggers,右键新建触发器:弹出框如下,每个框都有说明:

      • before和after指出触发器的触发时序分别是前触发和后触发方式,前触发是在执行触发事件之前触发当前所创建的触发器,后触发式在执行触发事件之后执行当前创建的触发器。就有点像Spring的Aop编程的advice,前置通知和后置通知。
      • for each row:表示触发器是行级触发器。行级触发器和语句触发器的区别在:行级触发器要求当一个DML语句操作影响数据库中的多行数据时,对于其中的每一个数据行,只要他们符合触发约束条件,均激活一次触发器。而语句级将整个语句操作作为触发事件,当它符合约束条件时,激活一个触发器。
      • Row:为语句级触发。  。在例子中会说明。
      • 看一下示例:
        /**
        创建一个触发器't_back_tab_sut'
        当表tab_stu中的记录执行删除操作之后执行
        **/
        
        create or replace trigger t_back_tab_sut
          after delete on tab_stu 
          --当行级触发器被触发时,如果要访问插入,更新或删除的记录中的值。可以使用
          --NEW:访问操作完成后的值。
          --Old:访问操作完成前的值。
          --也就是可以取到你插入或更新或删掉的新或旧的数据。
          referencing  new as new  old as old
          for each row --表示触发器是行级触发器
        declare
          r_tab_stu tab_stu%rowtype;
          
        begin
          --取到删除后的数据
          r_tab_stu.stu_id:=:old.stu_id;
          r_tab_stu.stu_name:=:old.stu_name;
          r_tab_stu.stu_age:=:old.stu_age;
          r_tab_stu.class_id:=:old.class_id;
          --插入到备份表中
          insert into tab_stu_back2(stu_id,stu_name,stu_age,class_id) 
          values(r_tab_stu.stu_id,r_tab_stu.stu_name,r_tab_stu.stu_age,r_tab_stu.class_id);
          --这里不能有commit语句
          --因为如果这里有commit的话,那用户执行的delete操作就不能回滚了。
          --可以理解为这里的insert和用户的delete语句是一个事务。
        end t_back_tab_sut;

      • 当删除tab_stu中的数据,就会备份到tab_stu_back2表中。

    展开全文
  • 公司产品后台一直都是基于oracle数据库的,但是最近有些项目中需要使用SQLServer作为后台数据库,做产品移植时,发现产品移植到SQLServer后问题很多,大部分都是由于oracle和SQLServer中内部函数不通用所致,比如...

    好东西分享给大家



    公司产品后台一直都是基于oracle数据库的,但是最近有些项目中需要使用SQLServer作为后台数据库,在做产品移植时,发现产品移植到SQLServer后问题很多,大部分都是由于oracle和SQLServer中内部函数不通用所致,比如:产品中使用ORACLE中的instr函数在SQLServer中不存在,因此报出如下异常:

    org.apache.jasper.JasperException: org.springframework.jdbc.BadSqlGrammarException: StatementCallback; bad SQL grammar [select count(id) as nums from orgunitlink  where oid='null' and instr(col1,'402881e70ad1d990010ad1e5ec930008')>0]; nested exception is com.microsoft.sqlserver.jdbc.SQLServerException: 'instr' 不是可以识别的内置函数名称。
     

         因此查阅相关资料,发现SQLServer中的CHARINDEX函数功能与ORACLE中instr功能相似。

         2者使用说明如下:

    1)SQLServer中的CHARINDEX

           CHARINDEX函数返回字符或者字符串在另一个字符串中的起始位置。CHARINDEX函数调用方法如下:
           CHARINDEX ( expression1 , expression2 [ , start_location ] )

           Expression1是要到expression2中寻找的字符中,start_location是CHARINDEX函数开始在expression2中找expression1的位置。

           CHARINDEX函数返回一个整数,返回的整数是要找的字符串在被找的字符串中的位置。假如CHARINDEX没有找到要找的字符串,那么函数整数“0”。让我们看看下面的函数命令执行的结果:

          CHARINDEX('SQL', 'Microsoft SQL Server')

          这个函数命令将返回在“Microsoft SQL Server”中“SQL”的起始位置,在这个例子中,CHARINDEX函数将返回“S”在“Microsoft SQL Server”中的位置11。
          接下来,我们看这个CHARINDEX命令:

          CHARINDEX('7.0', 'Microsoft SQL Server 2000')

          在这个例子中,CHARINDEX返回零,因为字符串“7.0” 不能在“Microsoft SQL Server”中被找到。接下来通过两个例子来看看如何使用CHARINDEX函数来解决实际的T-SQL问题。

    2)ORACLE中的instr

    INSTR方法的格式为
    INSTR(源字符串, 目标字符串, 起始位置, 匹配序号) 例如:INSTR('CORPORATE FLOOR','OR', 3, 2)中,源字符串为'CORPORATE FLOOR', 目标字符串为'OR',起始位置为3,取第2个匹配项的位置。默认查找顺序为从左到右。当起始位置为负数的时候,从右边开始查找。所以SELECT INSTR('CORPORATE FLOOR', 'OR', -1, 1) "Instring" FROM DUAL的显示结果是 Instring 14 在项目中用到了Oracle中 Instr 这个函数,顺便仔细的再次学习了一下这个知识。 Oracle中,可以使用 Instr 函数对某个字符串进行判断,判断其是否含有指定的字符。其语法为:
    Instr(string, substring, position, occurrence)
    其中 string:代表源字符串; substring:代表想聪源字符串中查找的子串; position:代表查找的开始位置,该参数可选的,默认为 1; occurrence:代表想从源字符中查找出第几次出现的substring,该参数也是可选的,默认为1;
    如果 position 的值为负数,那么代表从右往左进行查找。
    返回值为:查找到的字符串的位置。对于 Instr 函数,我们经常这样使用:从一个字符串中查找指定子串的位置。例如: SELECT Instr('Hello Word', 'o', -1, 1) "String" FROM Dual 的显示结果是 Instring 8


    http://www.hzhike.com/School/2011/201106/20110622195524.html
    展开全文
  • 33.Oracle数据库SQL开发之 使用简单函数——使用单行函数-字符函数 欢迎转载,转载请标明出处:  这边开始使用数据库内置函数函数可以接受零个或多个输入参数,并返回一个输出参数。ORACLE数据库中可以使用两种...

    33.Oracle数据库SQL开发之 使用简单函数——使用单行函数-字符函数

    欢迎转载,转载请标明出处:    http://blog.csdn.net/notbaron/article/details/49722969     

    这边开始使用数据库内置函数。函数可以接受零个或多个输入参数,并返回一个输出参数。ORACLE数据库中可以使用两种主要类型的函数:单行函数和聚合函数。

             单行函数(singlerow function)同时只能对一行进行操作,且对输入的每一行返回一个行输出结果。

             聚合函数(aggregatefunction),同时可以对多行操作,并返回一行输出结果。

    单行函数主要有以下5种。

    1.  字符函数

    字符函数接受字符参数。例如 UPPER()将字符串中的所有字母全部转换成大写,并返回新的字符串。NVL()将一个空值转换成传递给该函数的值。

    1.1             ASCII()和CHR()

    ASCII函数用于获得字符的ASCII码。CHR函数用于获得ASCII码为X的字符。

    例如:

    store@PDB1> select ASCII('a'),ASCII('a'),ASCII(0)from dual;

     

    ASCII('A') ASCII('A')  ASCII(0)

    ---------- ---------- ----------

             97        97            48

    store@PDB1> select chr(97),chr(96),chr(48) fromdual;

    C C C

    - - -

    a ` 0

    1.2             CONCAT()

    CONCAT(X,Y)函数用于将y添加到x 之后,该函数会返回得到的字符串。

    例如:

    store@PDB1> select concat(first_name,last_name)from customers;

     

    CONCAT(FIRST_NAME,LA

    --------------------

    JohnBrown

    CynthiaGreen

    SteveWhite

    GailBlack

    DoreenBlue

    CONCAT函数和||操作符的功能完成相同。

    1.3             INITCAP()

    INITCAP(X)函数用于将X中每个单词的首字母转换成大写。

    例如:

    store@PDB1> select product_id,initcap(description)from products where product_id<4;

     

    PRODUCT_ID INITCAP(DESCRIPTION)

    ---------- --------------------------------------------------

              1 A Description Of Modern Science

              2 Introduction To Chemistry

              3 A Star Explodes

    store@PDB1> select product_id,description from products where product_id<4;

     

    PRODUCT_ID DESCRIPTION

    ---------- --------------------------------------------------

              1 A description of modern science

              2 Introduction to Chemistry

              3 A star explodes

    1.4             INSTR()

    INSTR(X,find_string[,start] [,occurrence])函数用于在x中查询find_string.返回find_string所在的位置。Start说明从哪个位置开始查找,occurrence说明返回find_string第几次出现的位置。

    例如:

    store@PDB1> select name,instr(name,'Science') fromproducts where product_id=1;

     

    NAME                                INSTR(NAME,'SCIENCE')

    ---------------------------------------------------

    Modern Science                                                8

    以下查询使用INSTR函数显示从产品名的开头开始第二次出现字母e的位置

    store@PDB1> select name,instr(name,'e',1,2) fromproducts where product_id=1;

     

    NAME                                INSTR(NAME,'E',1,2)

    -------------------------------------------------

    Modern Science                                             11

    下面查询,使用INSTR函数显示第一个顾客的dob 中字符串JAN的位置

    store@PDB1> select customer_id,dob,instr(dob,'JAN')from customers where customer_id = 1;

    CUSTOMER_ID DOB       INSTR(DOB,'JAN')

    ----------- --------- ----------------

               1 01-JAN-65               4

    1.5             LENGTH()

    Length(x)函数用于获得x字符中的个数。

    例如:

    store@PDB1> select name,length(name) fromproducts;

     

    NAME                                 LENGTH(NAME)

    ------------------------------ ------------

    Modern Science                                   14

    Chemistry                                       9

    Supernova                                      9

    Tank War                               8

    Z Files                                    7

    2412: The Return                       16

    Space Force 9                              13

    From Another Planet                          19

    Classical Music                           15

    Pop 3                                              5

    Creative Yell                                 13

    My Front Line                              13

     

    12 rows selected.

    小数点也是在总数之内的如下:

    store@PDB1> select price,length(price) fromproducts where product_id < 3;

        PRICE LENGTH(PRICE)

    ---------- -------------

        19.95             5

             30           2

    1.6             LOWER()和UPPER()

    Lower(x)将x 中的字母转换成小写。UPPER(x)函数将x 中的字母转换成大写。

    1.7             LPAD()和RPAD()

    LPAD(x,width,[,pad_string])函数用于在x的左边补齐空格,使x的总长度达到width个字符。RPAD同理,在X的右边补齐字符串。

    例如:

    store@PDB1> selectRPAD(name,30,'.'),LPAD(price,8,'*+') from products where product_id < 4;

     

    RPAD(NAME,30,'.')         LPAD(PRI

    ------------------------------ --------

    Modern Science................ *+*19.95

    Chemistry..................... *+*+*+30

    Supernova..................... *+*25.99

    1.8             LTRIM(),RTRIM()和TRIM()

    LTRIM(x,[trim_string])函数用于从x的左边截去一些字符。如果没有指定trim_string参数,默认会截去空格。同理RTRIM函数从右边截去一些字符。

    store@PDB1> select ltrim(' Hello GailSeymour!'),RTRIM('Hi Dreen Oakley!abcabc', 'abc'),trim('0' from '000Hey SteveButton!0000')

      2  from dual;

     

    LTRIM('HELLOGAILSEY RTRIM('HIDREENOATRIM('0'FROM'000H

    ------------------- ---------------------------------

    Hello Gail Seymour! Hi Dreen Oakley! HeySteve Button!

    1.9             NVL()

    NVL函数将空值转换成一个已知的值。NVL(x,value)的结果如下:如果x为空,则返回value,否则返回x.

    例如:

    store@PDB1> select customer_id,NVL(phone,'UnknownPhone Number') from customers;

     

    CUSTOMER_ID NVL(PHONE,'UNKNOWNPH

    ----------- --------------------

               1 800-555-1211

               2 800-555-1212

               3 800-555-1213

               4 800-555-1214

               5 Unknown Phone Number

    1.10       NVL2()

    NVL2(x,value1,value2)的返回结果如下:如果X非空,返回VALUE1,否则返回VALUE2。

    执行如下:

    store@PDB1> select customer_id,nvl2( phone,'known','Unkown')from customers;

    CUSTOMER_ID NVL2(P

    ----------- ------

               1 known

               2 known

               3 known

               4 known

               5 Unkown

    1.11       REPLACE()

    REPLACE(x,search_string,replace_string)用于在x中查询search_string,并将其替换为replace_string.

    执行如下:

    store@PDB1> select replace(name,'Science','Physics') from products where product_id=1;

     

    REPLACE(NAME,'SCIENCE','PHYSICS')

    ----------------------------------------------------------------------------------------------------

    Modern Physics

    该函数并不会真正对数据库中的数据进行修改,而是只对结果集中返回的行进行修改。

    1.12       SOUNDEX()

    SOUNDEX(x)用于获得包含x发音的一个字符串。该函数用于对英文拼写不同但发音相似的单词进行比较。

    例如从customers表中选择last_name发音类似于whyte的last_name列:

    store@PDB1> select last_name from customers wheresoundex(last_name)=soundex('whyte');

     

    LAST_NAME

    ----------

    White

    1.13       SUBSTR()

    SUBSTR(X,START[,length])用于从x中取得从start位置开始的一个子字符串,可以使用length指定字符串长度。

    例如:

    store@PDB1> select substr(name,2,7) from productswhere product_id < 4;

     

    SUBSTR(

    -------

    odern S

    hemistr

    upernov

    1.14       函数中使用表达式

    函数中并非只能使用表中的列,也可以提供任意有效的表达式,条件是这个表达式的结果是一个字符串。

    1.15       函数组合

    在一个SQL语句中个,可以使用函数的任意有效组合。

    例如如下:

    store@PDB1> select name,upper(substr(name,2,8))from products where product_id < 4;

     

    NAME                                UPPER(SU

    ------------------------------ --------

    Modern Science                        ODERNSC

    Chemistry                         HEMISTRY

    Supernova                         UPERNOVA

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    展开全文
  • SQL中Oracle内建了一系列函数,这些函数都可被称为SQL或PL/SQL语句,函数主要分为两大类:23 单行函数45 组函数67 本文将讨论如何利用单行函数以及使用规则。89 SQL中的单行函数1011 SQL和PL/SQL中自带很多...
  • Oracle触发器、存储过程、函数
  • Oracle数据库之PL/SQL过程与函数

    千次阅读 2015-06-17 14:00:45
    Oracle数据库之PL/SQL过程与函数PL/SQL块分为匿名块与命名块,命名块又包含子程序、和触发器。过程和函数统称为PL/SQL子程序,我们可以将商业逻辑、企业规则写成过程或函数保存到数据库中,以便共享。过程和函数均...
  • Oracle数据库 基础

    千次阅读 多人点赞 2020-02-21 11:15:20
    1,能够理解Oracle数据库的基本概念 2,记忆Oracle DDL语句 3,掌握Oracle序列的使用 4,掌握oracle单行函数的使用 5,能够掌握oracle多行函数 6,学习并应用oracle分组统计 7,能够应用Oracle多表查询 8,掌握...
  • Oracle系统函数和select语句
  • Oracle数据库

    千次阅读 2016-07-11 19:24:13
    一、数据库类型a.层次型数据库 b.网状型数据库 c.关系型数据库二、数据库操作如何操作数据库:1.运行cmd打开控制台窗口–>输入sqlplus–>如果是...使用第三方工具来操作oracle数据库: PLSQL developer Toad DBVisual
  • 文章目录一、Oracle 数据库概述1、Oracle 概述二、关系型数据库1、数据库管理系统2、数据库设计范式三、Oracle 11g 的新功能 一、Oracle 数据库概述 1、Oracle 概述 ...可以说Oracle数据库系统是目前世界上...
  • Oracle数据库 入门教程

    万次阅读 多人点赞 2018-07-06 17:16:56
    Oracle数据库1.1 数据库环境安装1.Oracle数据库产品是免费的,我们可以从Oracle的官方网站(http://www.oracle.com)下载到程序安装,OracleWindows下的安装非常方便,安装开始后,一直点击安装程序的“下一步”...
  • 正在看的ORACLE教程是:Oracle数据库索引的维护。 本文只讨论Oracle中最常见的索引,即是B-tree索引。本文中涉及的数据库版本是Oracle8i。 一. 查看系统表中的用户索引 Oracle中,SYSTEM表是安装数据库时自动建立...
  • oracle数据库笔记

    千次阅读 2018-09-13 12:52:30
    oracle数据库笔记 oracle数据库笔记 数据库四种语言: 1.DDL (Data Definition Language )数据库定义语言 statements are used to define the database structure or schema. 创建表: 删除表: 修改表: ...
  • 前边:规范是一种习惯,在Oracle数据库中笔者认为表中的字段命名规范需要引起注意,当考虑使用SSM作为框架的时候,Mybatis 的逆向工程能够根据数据库表名和数据库名字段名自动生成pojo类,其中pojo类中的属性...
  • Oracle数据库简介

    千次阅读 2017-02-24 16:47:58
    Oracle数据库简介 本章提供了Oracle数据库的概述,包含以下部分: 关于关系数据库 架构对象 数据访问 事务管理 Oracle数据库架构 Oracle数据库文档路线图 关于关系...
  • Oracle数据库学习指南

    2012-07-04 22:12:40
    Oracle2: 1. 《Oracle8 优化技术》摘录 (第一章 安装) 2. 《Oracle8 优化技术》摘录 (第二章 内存-CPU) 3. 《Oracle8 优化技术》摘录 (第三章 输入-输出) 4. EXP、IMP 命令详解 ...52. 自动备份Oracle数据库
  • ORACLE数据库(六)-----开窗函数

    千次阅读 2021-03-19 21:08:20
    ORACLE数据库(六)-----开窗函数 开窗函数又名分析函数、窗口函数、OLAP(数据分析)函数 聚合函数:将数据按照一定的规则分组,统一分析各组的某项情况,每个分组返回一行结果 开窗函数:将数据按照一定的规则分组,...
  • Oracle数据库基础

    2015-08-15 21:16:30
    Oracle数据库基础 1.Oracle简介:Oracle是一个数据库管理系统,是Oracle公司的核心产品。 Oracle数据库主要特点特点: > 支持多用户、大事务量的事务处理 > 保持数据安全性和完整性方面性能优越 > 支持分布式数据...
  • Oracle数据库开发--oracle sql developer工具/存储过程/函数/触发器 什么是PL/SQL程序? (1)PL/SQL( Procedure Language / SQL) (2)PLSQL是Oracle对sql预言的过程化扩展 -- 指SQL命令语言中增加了过程处理语句...
  • oracle数据库的plsql

    千次阅读 2020-06-29 08:44:57
    oracle数据库高级 PL/SQL 什么是PL/SQL PL/SQL是Oracle数据库对SQL语句的扩展,增加了编程语言的特点. 数据操作和查询语句被包含PL/SQL代码的过程性单元中,经过逻辑判断、循环等操作完成复杂的功能或者计算 PL/...
  • Oracle数据库面试题总结

    万次阅读 多人点赞 2017-04-27 22:41:44
    1、SQL语句分类 DQL(数据查询语言)select DML(数据操作语言)insert、delete、update DDL(数据定义语言)create、drop、alter DCL(数据控制语言)grant:把权限授予用户、revoke:把权限从...Oracle用row...
  • 选择题(20分,每题4分) 1. 利用游标来修改数据时,所用的..FOR UPDATE充分利用了事务的哪个...B、在函数内可以修改表数据 C、函数不能递归调用 D、以上说法都不对下列说法正确的是,多选() A、PLSQL自定义函
  • oracle数据库测评

    千次阅读 2019-08-20 09:21:53
    a、对登录操作系统和数据库系统的用户进行身份标识和鉴别 测评方法 1、select username,account_status from dba_users 确认那些用户为数据库管理用户,那些是应用用户 显示所有能登录数据库的用户信息 2、查看...
  • sdo_util函数 1、sdo_util.remove_duplicate_vertices 删除重复的顶点 SDO_UTIL.REMOVE_DUPLICATE_VERTICES geometry IN SDO_GEOMETRY, tolerance IN NUMBER ) RETURNSDO_GEOMETRY;   --更新一条有重复...
  • Oracle数据库期末考试范围题

    万次阅读 2020-11-15 21:45:30
    学校Oracle数据库期末考试复习题题目收录,是自己学习Oracle数据库的笔记。
  • Oracle数据库所有知识点集合

    千次阅读 多人点赞 2017-12-16 15:38:00
    与ORACLE相关的数据库,开启Oracle服务,Oracle默认账户,Oracle三个认证(Oracle证书),...同义词,视图,Oracle序列,表空间,Oracle系统函数,Oracle存储过程,Oracle游标-->cursor,Oracle数据库所有知识点集合
  • Oracle中的数据字典是数据库中的非常重要的一部分,提供了相关数据库的信息,它是所有Oracle用户(从应用的最终...数据字典的创建,是在Oracle数据库创建完毕后,运行一些相关的数据库管理脚本来完成的。当采用Oracl
  • Oracle数据库入门(使用参考)

    千次阅读 2021-03-06 22:54:01
    Oracle数据库入门(使用参考) 零、简介 Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上...
  • Oracle数据库学习总结

    千次阅读 2011-04-08 10:13:00
    Oracle数据库学习总结时间过的还真快,不知不觉中就这里呆了半个月了。这段时间里都学习oracle数据库的编程,毕竟这是家软件外包公司。像我们这样的新员工也就只能接触到些CURD的操作。废话不多说,赶紧来梳理下...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 85,313
精华内容 34,125
关键字:

oracle数据库在包内声明函数