我想创建一个可以在我的PL/SQL代码中使用的内存数组变量.我在Oracle PL/SQL中找不到任何使用纯内存的集合,它们似乎都与表相关联.我想在我的PL/SQL(C#语法)中做类似的事情:
string[] arrayvalues = new string[3] {"Matt", "Joanne", "Robert"};
Run Code Online (Sandbox Code Playgroud)
编辑: Oracle:9i
我有一个返回avg(价格)的查询
select avg(price)
from(
select *, cume_dist() OVER (ORDER BY price desc) from web_price_scan
where listing_Type='AARM'
and u_kbalikepartnumbers_id = 1000307
and (EXTRACT(Day FROM (Now()-dateEnded)))*24 < 48
and price>( select avg(price)* 0.50
from(select *, cume_dist() OVER (ORDER BY price desc)
from web_price_scan
where listing_Type='AARM'
and u_kbalikepartnumbers_id = 1000307
and (EXTRACT(Day FROM (Now()-dateEnded)))*24 < 48
)g
where cume_dist < 0.50
)
and price<( select avg(price)*2
from( select *, cume_dist() OVER (ORDER BY price desc)
from web_price_scan
where listing_Type='AARM'
and u_kbalikepartnumbers_id = 1000307 …Run Code Online (Sandbox Code Playgroud) 如何在Mac OS X 10.9中设置永久环境变量(即每次启动新的终端会话时不需要导出的变量)?我已经找到了一些答案的有关修改我.bash_profile和.profile,然而没有这些选择似乎为永久解决方案的工作-只是暂时的.我想要设置的变量是MULE_HOME.我的bash配置文件中有以下行:
export MULE_HOME=$(/opt/mule-standalone-3.4.0)
Run Code Online (Sandbox Code Playgroud)
但是,当我启动终端时,我得到以下行(不确定这是否是正常行为?):
-bash: /opt/mule-standalone-3.4.0: is a directory
Run Code Online (Sandbox Code Playgroud)
并运行一个简单的env命令返回以下内容:
TERM_PROGRAM=Apple_Terminal
SHELL=/bin/bash
TERM=xterm-256color
TMPDIR=/var/folders/fc/68bqp4jj411gynj5qvwhq6z1shs1fy/T/
Apple_PubSub_Socket_Render=/tmp/launch-xKtkql/Render
TERM_PROGRAM_VERSION=326
TERM_SESSION_ID=E97BFE4B-AF85-4933-B252-0883CC085349
USER=dan
SSH_AUTH_SOCK=/tmp/launch-rEmTWW/Listeners
__CF_USER_TEXT_ENCODING=0x730C85DE:0:0
PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
__CHECKFIX1436934=1
PWD=/Users/dan
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home
LANG=en_GB.UTF-8
MULE_HOME=
SHLVL=1
HOME=/Users/dan
LOGNAME=danwiseman
_=/usr/bin/env
Run Code Online (Sandbox Code Playgroud)
为了解决这个问题,我export MULE_HOME=/opt/mule-standalone-3.4.0每次开始新的终端会议时都要输入,虽然不费劲,但有点不方便.我在这里做错了什么导致变量只能暂时设置?提前致谢.
我在Bitbucket git存储库中托管了一个C++程序,我正在使用CMake进行编译.目前的比赛可以在下面看到.它工作正常,除了build每次运行游戏时都运行-task.相反,我想 - build只有在git -module 提取新软件版本时才能运行.build如果clone--task找到新版本,我怎么能告诉-task ?
---
# tasks of role: foo
- name: clone repository
git: repo=git@bitbucket.org:foo/foo.git
dest={{ foo.dir }}
accept_hostkey=yes
- name: create build dir
file: state=directory path={{ foo.build_dir }}
- name: build
command: "{{ item }} chdir={{ foo.build_dir }}"
with_items:
- cmake ..
- make
Run Code Online (Sandbox Code Playgroud) 我假设这些信息在Oracle元数据表中可用,但究竟在哪里?
我需要BFILENAME的目录对象,如下所示:使用PL/SQL,我如何将文件的内容输入blob?
我试过了:
select * from all_objects where object_type ='DIRECTORY';
OWNER OBJECT_NAME
------------------------------ ------------------------------
SUBOBJECT_NAME OBJECT_ID DATA_OBJECT_ID OBJECT_TYPE
------------------------------ ---------- -------------- -------------------
CREATED LAST_DDL_TIME TIMESTAMP STATUS T G S
------------------- ------------------- ------------------- ------- - - -
NAMESPACE EDITION_NAME
---------- ------------------------------
SYS ORACLE_OCM_CONFIG_DIR
12689 DIRECTORY
2010-03-30 10:16:30 2011-01-10 12:49:39 2011-01-10:12:49:39 VALID N N N
9
SYS DATA_PUMP_DIR
12764 DIRECTORY
2010-03-30 10:16:43 2011-01-10 12:49:38 2011-01-10:12:49:38 VALID N N N
9
SYS XMLDIR
57134 DIRECTORY
2010-03-30 10:29:37 2010-03-30 10:29:37 2010-03-30:10:29:37 …Run Code Online (Sandbox Code Playgroud) 在下面的例子中,我为每个子类型编写了一个to_str()函数和一个set()过程pls_integer.除类型外,功能和程序几乎相同.
如何在不放弃子类型提供的约束的情况下消除编写另一个to_str()和set()新子类型的需要?
回落varchar2喜欢
procedure set(list in varchar2, prefix in varchar2)
Run Code Online (Sandbox Code Playgroud)
然后将其称为
set(to_str(list), 'foos:')
Run Code Online (Sandbox Code Playgroud)
这听起来不太好,我仍然需要to_str()为每个子类型提供.
我对所有不同的提案都持开放态度,因为我是甲骨文的新手,几乎每天都有新的Oracle功能让我感到惊讶.
我正在运行11.2.0.1.0.
create table so1table (
id number,
data varchar(20)
);
create or replace package so1 as
subtype foo_t is pls_integer range 0 .. 4 not null;
type foolist is table of foo_t;
procedure set(id_ in number, list in foolist default foolist(1));
subtype bar_t is pls_integer range 5 .. 10 not null; …Run Code Online (Sandbox Code Playgroud) 我期待看到下面的makefile创建的文件foo1和foo3.但是只创建了一个文件foo3.对我而言,似乎罐头配方make-foo被make简单地忽略了.目标foo1和foo2(空配方)的调试结果是相同的.
# why canned recipe doesn't work ?
# http://www.gnu.org/software/make/manual/make.html#Canned-Recipes
define make-foo =
echo making $@
touch $@
endef
.PHONY: all
all: foo1 foo2 foo3
# foo1 is not created, but why ?
.PHONY: foo1
foo1:
$(make-foo)
# debug output similar to foo1
.PHONY: foo2
foo2:
# this works
.PHONY: foo3
foo3:
echo making $@
touch $@
Run Code Online (Sandbox Code Playgroud)
跑步:
xxxx@xxxx:/dev/shm$ make -dRr
GNU Make 3.81
Copyright (C) 2006 Free …Run Code Online (Sandbox Code Playgroud) select distinct ani_digit, ani_business_line from cta_tq_matrix_exp limit 5
Run Code Online (Sandbox Code Playgroud)
我想从结果集中选择前五行.如果我使用上面的查询,得到语法错误.谢谢你
我在测试机器中有一个数据库设置,在生产机器中有第二个.当我跑:
select to_number('100,12') from dual
Run Code Online (Sandbox Code Playgroud)
然后它在测试机器中出错.但是,这种说法在生产机器中运行得很好.
现在,当我检查NLS_NUMERIC_CHARACTERS时,我在两台机器上都看到','(逗号).还有其他地方我应该寻找小数设置吗?
干杯!
oracle ×6
oracle11g ×4
sql ×3
plsql ×2
ansible ×1
bash ×1
git ×1
gnu-make ×1
macos ×1
metadata ×1
oracle11gr2 ×1
oracle9i ×1
postgresql ×1
subtype ×1
syntax-error ×1