有没有办法在oracle中执行"for each",如下所示:
begin
for VAR in {1,2,5}
loop
dbms_output.put_line('The value: '||VAR);
end loop;
end;
Run Code Online (Sandbox Code Playgroud)
我知道你可以这样做:
begin
for VAR in 1..5
loop
if VAR in(1,3,5) then
dbms_output.put_line('The value: '||VAR);
end if;
end loop;
end;
Run Code Online (Sandbox Code Playgroud)
但是,有没有办法以更好的方式做到这一点?定义一组值并迭代它们?
谢谢.
我刚刚发现了我认为在Oracle中PLSQL vs SQL中有些出乎意料的行为.
如果我在SQLDeveloper上运行此查询,我得到5个结果:
select level lvl from dual connect by level <=5;
Run Code Online (Sandbox Code Playgroud)
但是,如果我在SQLDeveloper中运行此语句:
declare
w_counter number :=0;
begin
for REC in (select level lvl from dual connect by level <=5)
loop
w_counter := w_counter+1;
end loop;
dbms_output.put_line('W_COUNTER: '|| w_counter);
end;
Run Code Online (Sandbox Code Playgroud)
变量w_counter以值1结束(很奇怪)
但最奇怪的部分是,如果我将查询封装在子查询中...类似于:
declare
w_counter number :=0;
begin
for REC in (select * from (select level lvl from dual connect by level <=5))
loop
w_counter := w_counter+1;
end loop;
dbms_output.put_line('W_COUNTER: '|| w_counter);
end;
Run Code Online (Sandbox Code Playgroud)
该w_counter变量完成与价值5 ...
你有什么要对此说的? …
我目前正在使用Oracle SQLDeveloper,而且我已经开始喜欢这个工具了.
我大量使用Shift + F4跳转到包/函数/过程.但有一件事我没有真正得到的是如何直接跳转到封装体或作为替代品在规范和封装体之间切换的某种快捷方式.
Toad有这样的东西,我无法在SQLDeveloper中找到这个功能.
我也知道你在屏幕的左侧有对象树,但是当你已经在查看它的规范时,它并不是导航到包体的最佳方式.特别是如果你有300个类似名字的包裹......
对于那些使用SQLDeveloper每天工作并且使用软件包进行大量开发的人来说,必须有一种方法可以做到这一点......我确信我不是第一个遇到这个问题的人......
我希望有一个神奇的捷径或一些晦涩的插件由一个俄罗斯人制作,他把插件放到网上后住在山洞里......我还在考虑黑魔法.
非常感谢你.
我想知道我是否可以安装IOS 5和IOS 5 SDK并且仍然可以开发并向Apple提交应用程序?或者一旦我安装了IOS 5,我就不得不安装IOS5 SDK(根据我的理解,当使用新的IO 5运行我的iDevice时,我无法使用稳定的4.3 SDK测试我的应用程序)
所以我能够使用IOS5 + IOS5 SDK开发我的应用程序,我可以将我的应用程序提交给苹果,还是需要等待IOS5稳定版的官方发布?
我正在尝试从Java应用程序连接到openshift中的mongodb数据库,并且在允许的角色和操作上遇到了一些麻烦。
我像这样运行rch port-forward命令:
rhc port-forward -a test
Run Code Online (Sandbox Code Playgroud)
一切顺利,我可以使用以下方法连接到数据库:
mongo admin -u admin -p '*******' --host 127.0.0.1 --port 44506
Run Code Online (Sandbox Code Playgroud)
我可以执行以下命令:
> use test
> show databases
Run Code Online (Sandbox Code Playgroud)
但是,如果我使用以下方法直接连接到数据库:
mongo test -u admin -p '*******' --host 127.0.0.1 --port 44506
Run Code Online (Sandbox Code Playgroud)
我无法运行show database命令
listDatabases failed:{ "ok" : 0, "errmsg" : "unauthorized" } at src/mongo/shell/mongo.js:47
Run Code Online (Sandbox Code Playgroud)
如何在此数据库中向该用户提供操作listDatabase?
我在mongodb文档http://docs.mongodb.org/manual/reference/privilege-actions/#security-user-actions中找到了此页面,该页面 讨论了诊断操作,但未提及如何向用户提供此类操作。
谢谢您的帮助。