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。
Netkiller Architect 手札.m4v
JavaforFlash手札.part02.rar
Perl 学习手札,这本书介绍了perl的基本语法及perl的一些用法,想了解perl的就看一看
JavaforFlash手札.part01.rar
JavaforFlash手札.part04.rar
Perl 学习手札,好东西
关于作者: 简信昌 “傲尔网”专案经理 博仲法律事务所资讯部门 台北Perl推广组 (Taipei.pm) 召集人 Newzilla召集人 目前专案: Open Source Foundry (OSSF) Newzilla 线上杂志 ...“Perl学习手札”
Perl学习手札.chmPerl学习手札.chmPerl学习手札.chm
PHP for Flash FMS网站开发手札.pdf
本资料完全来源于网上收集,对于作者并没有做过多的考证,考虑到作者本身,所以保持原作品不变只是略加整理,为用户提供一个方便的浏览方式。
自己写的几个比较常用的java代码片段,开发和面试中可能都会用到,这些知识点很容易被遗忘。
hibernate学习手札.z03
Android面试手札Android面试手札Android面试手札Android面试手札
hibernate学习手札.z01
Spring 注解学习手札,个人学习Spring mvc的知识总结
JavaforFlash手札.part05.rar
JavaforFlash手札.part03.rar