`

Oracle 手札

 
阅读更多

PL/SQL debug调试赋权:

ORA-0131:Insufficient privileges.

Note:Debugging requires the DEBUG CONNECT SESSION system privileges.

后经查找,是缺失  DEBUG CONNECT SESSION 系统权限所致。

解决办法:以SYS用户登录数据库,执行赋权操作:

grant  DEBUG CONNECT SESSION to user_name;
 

附1:有网友指出还需赋予DEBUG ANY PROCEDURE的权限,经测试,该权限可不用赋予!

附2:可以从数据字典role_sys_privs表查看该权限相关信息:

 

conn / as sysdba;
select * from role_sys_privs where privilege like 'DEBUG%' order by 2;

 (源地址:http://www.oracleonlinux.cn/2012/02/debug-procedures/)

 

动态SQL:

动态sql拼装的时候,表名一定要有不能传参的形式赋值;

 

--动态sql必须要有表名
    --v_sql_statement := 'select min(file_sn) INTO v_min_file_sn from :1 where substr(src_file, :2, :3) = :4';
    v_sql_statement := 'select min(file_sn)  from '||dec_table_name.table_name||' where substr(src_file, :1, :2) = :3';
    EXECUTE IMMEDIATE v_sql_statement INTO v_min_file_sn
    USING v_date_index,v_date_length,v_date_str;
 

NVL函数:

nvl()函数从两个表达式返回一个非空的值;

nvl(param1,param2);如果param1的计算结果为null,则返回param2;如果param的计算结果不为null,则返回param1;如果param1、param2都为null,则返回null(注:param1、param2可以为任何类型,但两个类型必须一致)。

 

 

select nvl(null,'a') from dual; --返回 a
select nvl('a',null) from dual; --返回 a
select nvl('a','ab') from dual; --返回 a,第一个
select nvl('ab','a') from dual; --返回 ab,第一个
select nvl(null,null) from dual; --返回 null 
select nvl(1,'a') from dual; --ora-01722 无效数字

创建用户、角色、赋权:

oracle为了兼容以前的版本,提供了三种标准的角色(role):connect、resource和dba。

  1. connect role(连接角色)

  临时用户,特别是那些不需要建表的用户,通常只赋予他们connect role。connect是使用oracle的简单权限,这种权
限只有在对其他用户的表有访问权时,包括select、insert、update和delete等,才会变得有意义。拥有connect role的
用户还能够创建表、视图、序列(sequence)、簇(cluster)、同义词(synonym )、会话(session)和与其他数据库的链
(link)。

  2. resource role(资源角色)

  更可靠和正式的数据库用户可以授予resource role。resource提供给用户另外的权限以创建他们自己的表、序列、过
程(procedure)、触发器(trigger)、索引(index)和簇(cluster)。

  3. dba role(数据库管理员角色)

  dba role拥有所有的系统权限----包括无限制的空间限额和给其他用户授予各种权限的能力。system由dba用户拥有。
下面介绍一些dba经常使用的典型权限。

 

/* 创建用户:*/
create user user_name identified by user_password;
/* 创建角色:*/
create role role_name;--(角色名不能和用户名相同)
/* 为角色赋权限 */
grant create public database link to role_name;
/* 为用户赋某个角色 */
grant role_name to user_name;

N

oracle取整函数和随机函数

-- Oracle取整的函数
--1.向上取整 (大)  value:2
select ceil(1.001) value from dual;
--2.向下取整 小) value:1
select floor(1.001) value from dual;
--3.取整(截取小数点前的部分) value:1
select trunc(1.002) value from dual;
--4.舍入取整(四舍五入) value:1
select round(1.001) value from dual;
 

/*Oracle随机函数
VALUE 函数的第一种形式返回一个大于或等于 0 且小于 1 的随机数;
第二种形式返回一个大于或等于 LOW ,小于 HIGH 的随机数。*/

select dbms_random.value,dbms_random.value(55,100) from dual;
select trunc(dbms_random.value(1,9999999)) from dual
 

VL函数:

nvl()函数从两个表达式返回一个非空的值;

nvl(param1,param2);如果param1的计算结果为null,则返回param2;如果param的计算结果不为null,则返回param1;如果param1、param2都为null,则返回null(注:param1、param2可以为任何类型,但两个类型必须一致)。

NVL函数:

nvl()函数从两个表达式返回一个非空的值;

nvl(param1,param2);如果param1的计算结果为null,则返回param2;如果param的计算结果不为null,则返回param1;如果param1、param2都为null,则返回null(注:param1、param2可以为任何类型,但两个类型必须一致)。

 

分享到:
评论

相关推荐

    Perl_学习手札

    这份"Perl学习手札"是为那些想要深入理解Perl语言特性和应用的初学者或有一定经验的开发者准备的宝贵资源。 首先,Perl的核心特性在于其灵活性和表达力。Perl语法受到了C、sed、awk等多种语言的影响,这使得它在...

    Netkiller Architect 手札.m4v

    Netkiller Architect 手札.m4v

    JavaforFlash手札.part02.rar

    JavaforFlash手札.part02.rar

    JavaforFlash手札.part01.rar

    JavaforFlash手札.part01.rar

    JavaforFlash手札.part04.rar

    JavaforFlash手札.part04.rar

    perl学习手札中文

    "Perl学习手札中文"是一份专为初学者设计的学习资料,旨在帮助读者快速掌握Perl语言的基础和高级特性。以下是对这些文件内容的概览: 1. **word.css**: 这个文件可能是样式表,用于定义文档中的排版和格式。在学习...

    perl学习手札(简体中文)_简信昌

    关于作者: 简信昌 “傲尔网”专案经理 博仲法律事务所资讯部门 台北Perl推广组 (Taipei.pm) 召集人 Newzilla召集人 目前专案: Open Source Foundry (OSSF) Newzilla 线上杂志 ...“Perl学习手札”

    java程序员手札-基础篇-01

    【Java程序员手札-基础篇-01】涵盖了Java编程语言中的基础知识,这些知识点是每位Java程序员必须掌握的。在日常开发和面试中,对这些概念的理解和运用能力至关重要,因为它们构成了Java程序设计的基础。以下是一些...

    Perl学习手札.chm

    Perl学习手札.chmPerl学习手札.chmPerl学习手札.chm

    Perl 学习手札.pdf

    ### Perl学习手札知识点概述 #### 1. 关于Perl - **1.1 Perl的历史**:Perl由Larry Wall在1987年创建,旨在为文本处理提供一种更强大的工具。随着时间的发展,Perl逐渐成为了脚本编程领域的领导者之一。 - **1.2 ...

    Perl 学习手札

    在“Perl学习手札”中,我们可以期待涵盖以下关键知识点: 1. **Perl基础语法**:Perl的基础包括变量声明(如 scalar、list和hash变量)、控制结构(如if语句、while循环、for循环)、函数和subroutine的使用。了解...

    perl学习手札.CHM

    本资料完全来源于网上收集,对于作者并没有做过多的考证,考虑到作者本身,所以保持原作品不变只是略加整理,为用户提供一个方便的浏览方式。

    高校手札档案专题数据库构建研究.docx

    高校手札档案专题数据库的构建是一项重要的工作,它在整合并利用高校特有的档案资源方面具有深远的意义。手札档案,作为个人书写给特定对象的信件,蕴含着丰富的历史、文化和学术价值,对于理解高校历史、人物以及...

    PHP for Flash FMS网站开发手札.pdf

    《PHP for Flash FMS网站开发手札》一书详尽地介绍了如何利用PHP与Flash Media Server(FMS)结合进行动态网站开发的过程与技巧。本书不仅涵盖了基础的环境搭建与配置,还深入探讨了多种高级主题,如数据交换、安全...

    hibernate学习手札.z03

    hibernate学习手札.z03

    Android面试手札

    Android面试手札Android面试手札Android面试手札Android面试手札

    hibernate学习手札.z01

    hibernate学习手札.z01

    JavaforFlash手札.part05.rar

    JavaforFlash手札.part05.rar

    JavaforFlash手札.part03.rar

    JavaforFlash手札.part03.rar

Global site tag (gtag.js) - Google Analytics