我有一个带有XML代码的字符串,我想从PL/SQL中将一个值提取到一个变量中.
XML非常简单,与此不同:
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<SOAProxyResponse xmlns="http://tempuri.org/">
<SOAProxyResult>
There is 23142 Files!
</SOAProxyResult>
</SOAProxyResponse>
</s:Body>
</s:Envelope
Run Code Online (Sandbox Code Playgroud)
我怎样才能将上面例子中的" 有23142个文件! " 这个值变成一个变量?
我有一个包含两个表的转储文件.现在我需要导入这个转储文件.我被指示在beforehands之前创建两个表空间.现在如何将此转储文件导入这些表空间.我正在使用PL/SQL开发人员.
我想count(*)在动态plsql语句中获得价值.我们可以编写静态stmt:
select count(*) into tmp_cnt from table_info where nbr_entry='0123456789';
Run Code Online (Sandbox Code Playgroud)
但是如何tmp_cnt在编写动态sql stament时获得价值?或任何其他方式将count(*)价值变为tmp_cnt变量?
出于某种原因,当我在一个大表(4000万〜记录)上尝试CTAS(创建表为select)时,我在v $ session 18中看到了我的sql语句的活动会话.
当我试图暗示优化器使用更少的CPU时
create table table_name parallel (degree 2) as
select * from large_table;
Run Code Online (Sandbox Code Playgroud)
我看到6个活跃的会话.
学位3我看到8个活跃的课程.我尝试了学位默认,但它也创造了18个课程.
以前在代码中,在执行CREATE TABLE语句之前,我在会话中更改了一些属性:
alter session set workarea_size_policy = manual;
alter session set hash_area_size = 1048576000;
Run Code Online (Sandbox Code Playgroud)
我想在1个会话中创建表,我该怎么做?
谢谢 !
我有更新问题并插入下面的列.请告知此事.
这是输入
depnto extra comm
----------------------------
20 300 NULL
20 300 400
20 NULL NULL
20 500 NULL
Run Code Online (Sandbox Code Playgroud)
这是预期的产出
depnto Extra comm
---------------------
20 300 300
20 300 400
20 NULL NULL
20 500 500
Run Code Online (Sandbox Code Playgroud)
我需要在以下条件下comm使用extra列更新列.
我的节目如下.即使我需要跟踪哪些行已更新以及哪个值在另一个表中.
PROCEDURE (dept_id )
AS
BEGIN
FOR r IN (SELECT *
FROM emp
WHERE comm IS NULL AND extra IS NOT NULL AND deptno = dept_id)
LOOP
UPDATE emp
SET comm = extra
WHERE comm IS …Run Code Online (Sandbox Code Playgroud) 如何从 all_views 获取各个视图的总记录数。请找到以下代码以供参考..
Declare
view_name VARCHAR2(200);
v_str VARCHAR2 (1000);
v_output VARCHAR2(4000);
CURSOR tbl IS
SELECT view_name
FROM all_views
WHERE OWNER = SYS_CONTEXT( 'USERENV', 'CURRENT_SCHEMA')
ORDER BY 1 ;
BEGIN
OPEN tbl ;
LOOP
FETCH tbl INTO view_name;
EXIT WHEN tbl%NOTFOUND;
v_str := 'Select '''|| view_name ||' '' || count (*) from ' || view_name ;
EXECUTE IMMEDIATE v_str INTO v_output;
DBMS_OUTPUT.PUT_LINE(v_output);
END LOOP;
CLOSE tbl;
END;
Run Code Online (Sandbox Code Playgroud)
电流输出:
V_DSP_BUSINESS_DATE 10
V_DSP_DEPARTMENT 20
V_DSP_EMPLOYEE_DEACTIVATED 50
V_DSP_EMPLOYEE_GED 80
Run Code Online (Sandbox Code Playgroud)
预期输出:
sum up the record …Run Code Online (Sandbox Code Playgroud) 我正在使用PL/SQL Developer 11.0.4.1774.在我的工作中,我需要整天使用数据库.有时,在30-60分钟内,我不使用ide,当我需要再次使用它时,它需要重新连接.
我不想重新连接,有没有办法让连接保持一整天?
Declare
var_cnt number(3):=0;
begin
loop
update t_loan_dtl set loan_closure = 'Y' where rownum <10001;
end loop;
end;
Run Code Online (Sandbox Code Playgroud) 有一个要求,我试图在我的项目中自动化一个流程,其中需要运行 sql 来进行日常报告。
sql 如下所示:(这是最简单的形式,但我的 sql 有 400 行,下面只是获取结果的示例)。
测试.sql
select * from table
where create_date between &date1 and &date2;
Run Code Online (Sandbox Code Playgroud)
我想创建一个调用 sqlplus 并通过命令提示符传递日期的 bat 文件。日期将自动计算,并将在命令提示符本身中传递。
我尝试过以下命令行:
sqlplus userid/password@db_name @test.sql DATE1 DATE2
Run Code Online (Sandbox Code Playgroud)
但这仍然提示我输入日期 1 和日期 2 的日期,我希望自动从参数中获取这些日期。
您能帮我实现上述目标吗?
我正在尝试使用PL/SQL开发人员的内置调试器来调试过程.
单步执行后BEGIN,当调试器超过实际的过程调用时,"步入"按钮将执行该过程而不输入它.
任何建议,将不胜感激.
plsqldeveloper ×10
oracle ×7
plsql ×7
debugging ×1
dump ×1
oracle11g ×1
procedures ×1
session ×1
step-into ×1
tablespace ×1
time ×1
windows ×1
xml ×1