数据清洗小记:多用户调用同一个函数

原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明出处,否则有权追究版权法律责任。

深蓝的blog:http://blog.csdn.net/huangyanlong/article/details/46340515

【背景】

做数据抽取时,源端遇到多用户访问不同所属表情况,需要使用相同的函数时,在多用户下需要重新创建。

【解决】

多用户下遇到使用相同函数的情况时,我们可以选择重新创建函数,但有时由于函数过多,执行起来不方便,每个用户都执行一次有时也不便于对于函数的管理。因此我们可以创建一次函数,然后通过赋权的方式,多用户共同使用同一个函数。以“判断是否为数字”isnum()函数为例,语法为:grant  execute
 on  用户.函数名 to其它用户。

【实验】

为赋权限前,登陆hyl用户使用isnum函数,报错,如下:

sys用户下将scott用户的isnum函数执行权限赋予hyl用户,如下操作:

SQL> grant  execute  on  scott.isnum  to  hyl;

再次使用hyl用户调用isnum函数,验证如下图:

小知识,简而记之。

***********************************************蓝的成长记系列************************************************

原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明出处(http://blog.csdn.net/huangyanlong)。

系列链接_20150523

蓝的成长记——追逐DBA(1):奔波于路上,挺进山东

蓝的成长记——追逐DBA(2):安装!安装!久违的记忆,引起我对DBA的重新认知

蓝的成长记——追逐DBA(3):古董上操作,数据导入导出成了问题

蓝的成长记——追逐DBA(4):追忆少年情愁,再探oracle安装(Linux下10g、11g)

蓝的成长记——追逐DBA(5):不谈技术谈业务,恼人的应用系统

蓝的成长记——追逐DBA(6): 做事与做人:小技术,大为人

蓝的成长记——追逐DBA(7):基础命令,地基之石

蓝的成长记——追逐DBA(8):重拾SP报告,回忆oracle的STATSPACK实验

蓝的成长记——追逐DBA(9):国庆渐去,追逐DBA,新规划,新启程

蓝的成长记——追逐DBA(10):飞刀防身,熟络而非专长:摆弄中间件Websphere

蓝的成长记——追逐DBA(11):回家后的安逸,晕晕乎乎醒了过来

蓝的成长记——追逐DBA(12):七天七收获的SQL

蓝的成长记——追逐DBA(13):协调硬件厂商,六个故事:所见所感的“服务器、存储、交换机......”

蓝的成长记——追逐DBA(14):难忘的“云”端,起步的hadoop部署

蓝的成长记——追逐DBA(15):以为FTP很“简单”,谁成想一波三折

蓝的成长记——追逐DBA(16):DBA也喝酒,被捭阖了

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

***********************************************足球与oracle系列**********************************************

原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明出处(http://blog.csdn.net/huangyanlong)。

系列链接_20150528:

足球与oracle系列(1):32路诸侯点兵,oracle32进程联盟 之A组巴西SMON进程的大局观

足球与oracle系列(2):巴西揭幕战预演,oracle体系结构杂谈

足球与oracle系列(3):oracle进程排名,世界杯次回合即将战罢!

足球与oracle系列(4):从巴西惨败于德国,想到,差异的RAC拓扑对比! 

足球与oracle系列(5):fifa14游戏缺失的directX库类比于oracle的rpm包!

足球与oracle系列(6):伴随建库的亚洲杯——加油中国队

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

时间: 06-01

数据清洗小记:多用户调用同一个函数的相关文章

1.FreeRTOS不同任务调用同一个函数

1.函数如下 2.测试结果如下: 这个函数在两个不同优先级里面调用,可以得出两个实验结论: a.即使没有vtaskdelay或者其他信号量获取阻塞存在,依然会发生调度,操作系统美一个系统节拍调度一次(我的节拍周期是1ms). b.函数cnt计数是静态变量,任务再次回来已经不是原来的值了,因此函数里面如果存在静态变量或者全局变量并且不希望被擅自被其他任务临时切换改变了,则需要加互斥信号量,如果不在乎全局变量的值,那可以不加互斥量.在带os的系统中,存在静态变量和全局变量的函数称为不可重入函数. 3

两个线程同时调用一个函数会出现什么情况?

最近在研究多线程,然后突然想到如果两个线程同时访问一个函数的话,要不要加锁呢,加锁怎么加,不加又怎样这样的问题..然后去网上找了些帖子学习学习...... 上面的代码明显执行串了!!!! 函数本身只是代码,代码是只读的,无论多少个线程同时调用都无所谓,因为是只读嘛.但是函数里面总要用到暑假 ,如果数据属性线程级别(比如函数形参-->局部变量-->存在栈上-->每个线程都有自己的栈),那么同时调用是没关系的,因为用的都是本线程的数据;但是如果函数用到一些全局数据,比如全局变量,根据堆内存首

多线程调用同一个方法,局部变量会共享吗

对于一个局部变量应该是各线程独立的,一个线程不会改变另一个线程的临时变量. 多线程时, 几个线程间输出信息是交叉在一起的, 但你又没有区分是哪个线程输出的, 所以你自己就误认为是同一个线程输出的东西被改变了.  实际上是你自己的理解错误. 所有线程都用cout输出内容,你如何判断哪些内容是哪个线程输出的,而且cout是一个全局变量,多线程同时访问需要加锁,否则会出现一些莫名其妙的情况 结论: 局部变量是不会被修改的,而全局变量则很容易就被修改了,而你却还不知道. ////////////////

Jmeter在一次线程里多次调用同一个拼接参数,不使用自带拼接函数

记录一下使用Jmeter在一次线程里需要多次调用同一个参数时的拼接方法 在对创建.编辑等接口使用Jmeter进行性能.稳定性测试时,需要造多个名称相同,编号不同的参数. 例如:productName参数,对应字段分别为testCreate001.testCreate002.testCreate003…… 原先是使用用户参数+计数器组件,加上Jmeter自带的__V{}函数,像这样: 这种方法在我没有将productName的字段testCreate参数化的时候很好用 ,无论怎么调用,在运行一次线

第 13 条:使用立即调用的函数表达式创建局部作用域

第 13 条:使用立即调用的函数表达式创建局部作用域这段程序(Bug 程序)输出什么? function wrapElements(a) { var result = [], i, n; for (i = 0, n = a.length; i < n; i++) { result[i] = function() { return a[i]; }; } return result; } var wrapped = wrapElements([10, 20, 30, 40, 50]); var f

Android使用JNI(从java调用本地函数)

当编写一个混合有本地C代码和Java的应用程序时,需要使用Java本地接口(JNI)作为连接桥梁.JNI作为一个软件层和API,允许使用本地代码调用Java对象的方法,同时也允许在Java方法中调用本地函数. 在Java端,开发者所需要做的仅仅是在连接本地函数的方法之前加上native关键字.这样VM就会去寻找这个本地函数. 1.从Java调用本地函数 从Java调用本地函数时,需要在类中定义一个带有native关键字的特有方法,作为连接本地代码的桥梁.通过这个定义,尝试调用本地方法时JVM会找

读书笔记 effective c++ Item 5 了解c++默认生成并调用的函数

1 编译器会默认生成哪些函数  什么时候空类不再是一个空类?答案是用c++处理的空类.如果你自己不声明,编译器会为你声明它们自己版本的拷贝构造函数,拷贝赋值运算符和析构函数,如果你一个构造函数都没有声明,编译器同样会为你声明一个默认拷贝构造函数.这些所有的函数会是public和inline的(Item30).因此,如果你写了下面的类: 1 class Empty{}; 本质上来说和下面的类是一样的: 1 class Empty { 2 3 public: 4 5 Empty() { ... }

C++如何在r3静态调用NT函数

原文最早发表于百度空间2010-02-22. 1.把ntapi.h.ntdll.lib放在一个目录,然后设置工具——选项——项目和解决方案——VC++目录——包含文件,把刚刚的目录设置在改包 含文件中,然后设置库文件,把刚刚的目录设置在改包含文件中.上面的设置是统一设置,方便以后新建项目都可以使用,如果要对单独的项目进行设置, 则按下面的步骤操作:把ntapi.h.ntdll.lib放在一个目录,右键点击项目——属性——C/C++——常规——附加包含目录——把刚 刚的目录路径设置在这里:在链接器

[Effective JavaScript 笔记]第17条:间接调用eval函数优于直接调用

eval函数不仅仅是一个函数.大多数函数只访问定义它们所在的作用域,而不能访问除此之外的作用域(词法作用域).eval函数具有访问调用它时的整个作用域的能力.编译器编写者首次设法优化js时,eval函数很难高效地调用任何一个函数,因为一旦调用的函数是eval函数,那么每个函数调用都需要确保在运行时整个作用域对eval函数是可访问的.语言标准演化出辨别两种不同的调用eval的方法.第一种方式:函数调用涉及eval标识符,被认为是一种“直接”调用eval函数的方式.编译器需要确保被执行的程序具有完全