我定义了一个字符串列表,其中包含不同的国家/地区代码(如USA ,CHINA,HK,JPN等)。如何检查输入变量是否为列表中的国家/地区代码。我使用以下代码进行测试,但失败。
declare
country_list CONSTANT VARCHAR2(200) := USA,CHINA,HK,JPN;
input VARCHAR2(200);
begin
input := 'JPN';
IF input IN (country_list)
DBMS_OUTPUT.PUT_LINE('It is Inside');
else
DBMS_OUTPUT.PUT_LINE('It is not Inside');
END IF;
end;
Run Code Online (Sandbox Code Playgroud) 我试图使用Execute Immediate在下面运行此代码,但它不起作用,值是正确的.
请提供正确的代码.
declare
v_count number:=1;
v_conc_name varchar2(400);
v_val VARCHAR2(20):='vineet';
BEGIN
v_conc_name:='INT_AP_PAY_CONV';
EXECUTE IMMEDIATE 'UPDATE xxx_cnc_prg_details
SET
PARAMETER'||v_count||'='
||v_val||' where CONCURRENT_PROGRAM_SHORT_NAME= '||v_conc_name;
end;
Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一个plsql查询,它允许我查询一组未存储在表中的已知值.假设这些已知值是以下字符串:
我想实现以下内容:
select * from [fill-in-the-blank] myvalues
where not myvalues in
(
select id from dbtable
)
..我试图确定哪些知识值不在数据库表中.
约束
有任何想法吗?
我有一个字符串(带空格),我想从中分隔最后一个单词.例如:
"Steve Jobs" => Jobs
"Stack OverFlow Question" => Questions
Run Code Online (Sandbox Code Playgroud)
PL/SQL或SQL中是否有任何功能,以便我能够得到结果Jobs并Question分离出来?
从批处理文件执行时,下面的代码块没有运行.它只是挂起(没有任何反应).它坐在那里几个小时.我无法跟踪问题是什么或如何调试它.请帮忙.
declare
v_personrefid varchar2(50);
v_hiredt date;
v_loaddt date;
v_personid number;
v1_personrefid varchar2(50);
v_seq number :=0;
cursor get_row is
select distinct personrefid from ARCHIVE_PERSON;
cursor get_row1 is
select
personrefid,
hiredt,
loaddt,
personid
from
ARCHIVE_PERSON
where
personrefid = v_personrefid
order by hiredt, loaddt;
begin
v_seq:=0;
open Get_row;
loop
fetch get_row into v_personrefid ;
exit when get_row%notfound;
begin
open get_row1;
loop
fetch get_row1 into v1_personrefid, v_hiredt, v_loaddt, v_personid;
exit when get_row1%NOTFOUND;
v_seq:= v_seq+1;
update ARCHIVE_PERSON
set version = v_seq
where
personrefid = v1_personrefid …Run Code Online (Sandbox Code Playgroud) 有一些不寻常的事情发生.虽然移民,我有2050年之后一些时间(例如,二○五○年五月二十○日,21.11,2051),但由于某些原因,他们的Oracle更改为1950年,1951年等.如果你问我,它是由客户报告很烦人.这些是退休日期,所以很明显他们不能在20世纪50年代和60年代
原始表中的日期类似于YYYYMMDD格式,即20500130.所以这是我的合并声明
MERGE INTO employment_data emp
USING temp_02 src
ON (TO_NUMBER(src.id) = emp.id)
WHEN MATCHED THEN UPDATE SET
emp.retirement_day = DECODE(TO_NUMBER(src.retirement), 0, NULL, TO_DATE(src.retirement, 'YYYY.MM.DD'));
Run Code Online (Sandbox Code Playgroud)
其他日期还可以(例如20301204),但是2050年之后的任何日期都是疯狂的.知道我怎么能解决这个烦恼?
Thx提前:-)
目前在PL/SQL开发人员中,在选项卡中返回多个选项卡时的默认值基于from语句中的第一个表命名.但是,对于存在多个连接的更复杂查询,这可能不一定有意义.有没有办法在更复杂的查询中更改选项卡名称?
我在我的笔记本电脑上安装了PL/SQL Developer(由我的公司预先加载),当我想连接到ORACLE数据库时,我给它的全部是数据库名称,用户名和密码,它连接成功.
我也在我的机器上安装了DBVisualizer(我下载它因为它易于使用),当连接到ORACLE时想要知道SID或TNSNAMES或ORACLE服务名称,我都不知道.
我如何从我的工作PL SQL开发中找出这些细节,以便我可以使用我的DBVisualizer连接到相同的ORACLE数据库
谢谢凯
是否有用于格式化查询的快捷方式plsql developer?我想格式化以下查询:
SELECT * FROM T1, T2 WHERE T1.ID = T2.ID
Run Code Online (Sandbox Code Playgroud)
喜欢:
select
*
from
T1, T2
WHERE
T1.ID = T2.ID
Run Code Online (Sandbox Code Playgroud)