Return more than an OUT parameter of the stored procedure called in sql
I searched for it, but maybe that I did a good job. I would return two parameters of a stored procedure that is called from an sql query. Something likeselect my_proc(in_param) from dual
When the results of the query will return 2 columns. It is guaranteed in my design in order to return only a single record.Is this possible?
The version of Oracle that I use is:
Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - 64bi
PL/SQL Release 10.2.0.2.0 - Production
"CORE 10.2.0.2.0 Production"
TNS for Linux: Version 10.2.0.2.0 - Production
NLSRTL Version 10.2.0.2.0 - Production
Is this possible?
Laughing out loud
You can not call a stored SQL procedure. Only functions can be called from SQL.
Tags: Database
Similar Questions
-
In a table - looping through the rows and the stored procedure call
APEX version: 3.2.0.00.27
Hello
I searched the forum and tried a few things but could not make it work.
I have a tabular presentation, developed with the help of the ATD ( )
What I'm trying to do now:
-After submit and validations, loop through all the lines and
-call a stored procedure passing 3 parameters obtained from each of the lines on the form of tables. This procedure will be an update of a database table.
On the forum, I found that I could do the loop "* FOR i IN 1..." APEX_APPLICATION.g_f03. "LOOP COUNT *" syntax.
Only for testing purposes, I tried just to view information with the following (On Load - after a footer) process (example of Denes Kubicek == > http://deneskubicek.blogspot.com/2009/05/execute-javascript-throuhg-plsql.html):
The foregoing would give me a ' * ORA-01403: no data found * ' message. I tried through various variants of APEX_APPLICATION.g_f0* #*, but still can't get anything to display correctly. In commenting on all the lines referring to APEX_APPLICATION.g_f0x above, the date would be are they displayed fine.declare v_today varchar2 (200); begin -- :P40_test := APEX_APPLICATION.g_f03(1); -- :P40_test2 := APEX_APPLICATION.g_f04.COUNT; :P40_test2 := 100; v_today := to_char (sysdate, 'dd.mm.yyyy'); --FOR i IN 1.. APEX_APPLICATION.g_f03.COUNT LOOP :P40_test := APEX_APPLICATION.g_f02(2); HTP.p ('<script type="text/javascript">'); HTP.p ( 'alert(''Today is ' || v_today -- || APEX_APPLICATION.g_f04(APEX_APPLICATION.g_f03(i)) || '.\n' || 'end!'');' ); HTP.p ('</script>'); -- :P40_test := APEX_APPLICATION.g_f02(APEX_APPLICATION.g_f02(i)); --END LOOP; end;
I tried uncomment the FOR... LOOP and play with the code (defining the process runs "On submit - after calculations" and Validations), I got was a ' * ORA-06502: PL/SQL: digital error or value: character conversion number error * "message.
Here is the script of the form in a table:
Regarding the parameters for the stored procedure, it would the MSLINK, VALVE_NUMBER and the VALVES_STYLE. FEATURE.select "V"."MSLINK", -- hidden (number) "V"."INSTALLATION_DATE", -- editable date picker "V"."MANUFACTURER_INDICATOR", -- editable (cascading LOV -- text) "V"."MODEL_INDICATOR", -- editable (cascading LOV -- text) "V"."DIAMETER_INDICATOR", -- editable (LOV -- number) "V"."PURPOSE_INDICATOR", -- editable (LOV -- text) "V"."VALVE_NUMBER", -- shown but not editable -- number "V"."MODIFY_DATE", -- shown but not editable "V"."MODIFY_USER", -- shown but not editable "V"."VALVES_STYLE"."FEATURE" -- shown but not editable -- number from "#OWNER#"."VALVES" "V" Where "V"."PROJECT_ID" = :P1_PROJECT_NUMBER AND "V"."VALVES_DFLAG" = 0
Help, please!
(Sorry for the long post).
Thank you
TanHi, Tan,
I have not seen that type of object - I've only used custom types for purposes of test years ago and have never used their within Apex!
One possibility is that the value of checksum being is based on all of the content of these fields, rather than only the part of the FEATURE. If there are other parts of the object, you could include those items as well.
Otherwise, as you f01 KP for a record, you will need to retrieve the values of the FUNCTION in your PL/SQL code directly from the table (because the user cannot modify these fields, you can be sure that the values in the table will be still valid).
Andy
-
Creation of Adaptert DB to call the stored procedure in MS SQL server
Hello
I need to create a DB adapter to call a stored procedure in MS SQL Server.
I went through the MS SQL Server database connecting wire
He mentions that he must use a command line utility to generate the wsdl and xsd to call stored procedures in MS SQL server. Please indicate where this utility and how to use it.
All links to tutorials are welcome.
Thank you!!.
Silas.The key is SOA_HOME\j2ee\home\connectors\DbAdapter\DBAdapter.jar.
Make sure that the DBAdapter.jar is at this place
in my case, it is
e:\Oracle\product\soa\10.1.3\j2ee\home\connectors\DbAdapter\DBAdapter.jar
see you soon
James -
The stored procedure call Fail
I don't know that this is probably a simple answer, but please bear with me.
I have a page
defaulredirect.asp
It receives form default.asp variables'
I need to use form variables in my stored procedure. My procedure works fine in SQL, but when I try to add it as a command, it does not work.
I'm not sure what I'm doing wrong. I am not sure what details you need. Please be patient with me.
The procedure inserts the form in table variables and returns the identifier of the newly created (identity) for later use in my application.
Your stored procedure has 7 settings, but you have created 8 in your asp code? What is 'cmdInsertRecord.CreateParameter ("@RETURN_VALUE", 3, 4) '? I see that in your stored procedure. The parameters, including the order of their creation, must match exactly. I've never used a type of return value so I don't know how it is used. I'll research, but in the meantime, try to comment on this possibility and see if it runs.
-
Passing an array as a parameter of java (java controls) for the stored procedure
Hello
I use java controls (BEA Weblogic Workshop 8.1) to call a stored procedure and send an array as a parameter to the stored procedure of java. The following code throws an exception 'Fail to convert the internal representation.
Java code
import com.bea.control.DatabaseControl.SQLParameter;
Here I create the java
int [] = {12,13,14} javaArray.
The code below is used to create the table from sql to oracle for the procedure
SQLParameter [] params = new SQLParameter [1];
Object obj0 = javaArray;
params [0] = new SQLParameter (obj0, oracle.jdbc.OracleTypes.ARRAY, SQLParameter.IN);
the code below calls the myFunc in file OJDBCtrl.jcx
String success = dbControl.testFunc (params);
OJDBCtrl.jcx
/**
* @jc: = sql statement ' call CMNT_TST_PROC (?)).
*/
String Myfunc (SQLParameter [] param);
The stored procedure that is used:
SL_tab IS NUMBER TABLE INDEX BY PLS_INTEGER;
Procedure cmnt_tst_proc (cmnt_tst sl_tab);
Procedure cmnt_tst_proc (cmnt_tst sl_tab) is
BEGIN
dbms_output.put_line ('Hello');
END;
I'm getting the following exception
Failure = Java.Sql.SqlException: Internal failure to convert the representation: [I@438af4 [ServiceException] >]
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:162)
at oracle.jdbc.driver.DatabaseError.check_error(DatabaseError.java:861)
at oracle.sql.ARRAY.toARRAY(ARRAY.java:210)
at oracle.jdbc.driver.OraclePreparedStatement.setObjectCritical(OraclePreparedStatement.java:7768)
at oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:7449)
at oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:7837)
at oracle.jdbc.driver.OracleCallableStatement.setObject(OracleCallableStatement.java:4587)
at weblogic.jdbc.wrapper.PreparedStatement.setObject(PreparedStatement.java:244)
at com.bea.wlw.runtime.core.control.DatabaseControlImpl._setParameter(DatabaseControlImpl.jcs:1886)
at com.bea.wlw.runtime.core.control.DatabaseControlImpl.getStatement_v2(DatabaseControlImpl.jcs:1732)
at com.bea.wlw.runtime.core.control.DatabaseControlImpl.invoke(DatabaseControlImpl.jcs:2591)
at com.bea.wlw.runtime.core.dispatcher.DispMethod.invoke(DispMethod.java:377)
at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:433)
at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:406)
at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:249)
at com.bea.wlw.runtime.jcs.container.JcsContainer.invoke(JcsContainer.java:85)
at com.bea.wlw.runtime.core.bean.BaseContainerBean.invokeBase(BaseContainerBean.java:224)
at com.bea.wlw.runtime.core.bean.SLSBContainerBean.invoke(SLSBContainerBean.java:109)
at com.bea.wlwgen.StatelessContainer_ly05hg_ELOImpl.invoke(StatelessContainer_ly05hg_ELOImpl.java:153)
...
Can you please let me know, what am I doing wrong and how can I pass an array to a procedure/function using java controls.
Any help will be much appreciated.
Published by: user12671762 on February 24, 2010 05:03
Published by: user9211663 on February 24, 2010 21:04Try using an oracle.sql.ARRAY with a nested table or varray instead of a table index. Create the type SQL and Java object as follows
SQL> create type sl_tab as varray(3) of integer; Java: ArrayDescriptor ad = ArrayDescriptor.createDescriptor ("
.SL_TAB", java.sql.Connection); Object elements = new Object[3]; elements[0] = new Integer(12); elements[1] = new Integer(13); elements[2] = new Integer(14); oracle.sql.ARRAY array = new oracle.sql.ARRAY(ad, oracle.jdbc.OracleTypes.ARRAY, elements); SQLParameter[] params = new SQLParameter[1]; params[0] = new SQLParameter(array, oracle.jdbc.OracleTypes.ARRAY, SQLParameter.IN); String succ = dbControl.testFunc(params); I don't think that you can pass an array of Java, this is why you have more success using an oracle.sql.ARRAY with a SQL varray. -Michael-
-
Hi all
We try to add new proposal for a salary of some employees from form August 1, 2015 (the Date of the beginning of employee)
There is no existing salary proposal doesn't exist for these employees.
We get below error.
ORA-01422: exact fetch returns more than the requested number of rows in the hr_maintain_proposal_swi procedure insert_salary_proposal package
Help, please.
Thank you
Tarun
Hi John,.
If it helps, take a look at the following note:
ORA-01422 exact Fetch returns more than number of lines requested in Hr_maintain_proposal_swi (Doc ID 1673527.1)
Kind regards
Rajen
-
Error ORA-01422 apex: exact fetch returns more than the required number of line
Hi people,
Apex 4.1
I have a page that works like a charm.
Based on my application I need I have to perform the same operation for the different regions. As a quick and better method, I copied the page and branched, it inspires tab for this region.
The problem is that the original page works fine.
I haven't changed anything except the parent set to this copied page tab and works that I find with the above error.
It allows me to make the first entry on this page, but when I try to access the page again it gives me this error.
The error in detail is as below:
is_internal_error: false
ora_sqlcode:-1422
ora_sqlerrm: ORA-01422: exact fetch returns more than number of lines
Component.type: APEX_APPLICATION_PAGE_PROCESS
Component.ID: 214936714355373108
Component.Name: EMP_LEAVE_INFO line
error_backtrace:
ORA-06512: at line 1
ORA-06512: at "SYS." DBMS_SYS_SQL", line 1926
ORA-06512: at "SYS." WWV_DBMS_SQL', line 973
ORA-06512: at "SYS." WWV_DBMS_SQL', line 999
ORA-06512: at "APEX_040200.WWV_FLOW_DYNAMIC_EXEC", line 806
ORA-06512: at "APEX_040200.WWV_FLOW_DML", line 336
ORA-06512: at "APEX_040200.WWV_FLOW_PROCESS", line 332>
As a quick and better method, I copied the page and branched, it inspires tab for this region.
>Copy paste is never advisable. It can be fast in some cases, there is an anti-pattern.
Be aware that the automatic extraction of the APEX line is based on a component of demand.
It is possible that your automatic rowfetch is based on the element of your previous page. If you for example to change the name of the table, but do not change the reference is the primary key value, then you can pass a value to your table that was not unique. This would result in ORA-01422.
Find the value of the session element and run your query.
Concerning
Nico
-
"Getting the error 'exact fetch returns more than number of lines.
Hi try to run a query of Iam
but when I run what it it gives an error
Error report:
here's my querey
ORA-01422: exact fetch returns more than number of lines
ORA-06512: at line 9 level
01422 00000 - "exact fetch returns more than number of lines."
* Cause: Exact extraction specified number is less than the returned rows.
* Action: Rewrite the query or change the number of rows requested
SET SERVEROUTPUT ON
DECLARE
Emp_table_type TYPE IS an ARRAY OF
hr_api_transactions % ROWTYPE INDEX BY PLS_INTEGER;
my_emp_table emp_table_type;
BEGIN
I'm in 1.53
LOOP
SELECT * INTO my_emp_table (i) FROM hr_api_transactions
WHERE transaction_ref_table = 'PER_ALL_VACANCIES ';
END LOOP;
BECAUSE me IN my_emp_table. FIRST... my_emp_table. LAST
LOOP
DBMS_OUTPUT. Put_line (my_emp_table (i) .transaction_document);
END LOOP;
END;Hello
'Re missing you the bulk of the Collections. Ask that you well want to have a glance on manual of oracle collections.
Replace your code...DECLARE TYPE emp_table_type IS TABLE OF hr_api_transactions%ROWTYPE INDEX BY PLS_INTEGER; my_emp_table emp_table_type; BEGIN SELECT * BULK COLLCT INTO my_emp_table FROM hr_api_transactions WHERE transaction_ref_table = 'PER_ALL_VACANCIES'; FOR i IN my_emp_table.FIRST..my_emp_table.LAST LOOP DBMS_OUTPUT.PUT_LINE(my_emp_table(i).transaction_document); END LOOP; END;
Before you run the above script, don't forget to run the
set serveroutput on
I hope this helps.
PS-> mark as Complete/useful, if the apporoach above meets the expected result
Kind regards
Claudy -
ORA-01422: exact fetch returns more than number of lines
Hello world
I want to create a procedure only allows me to perform selection et Update in my database, I have already create the procedure and compiled without problems but when I want to run this procedure, I have this error
ORA-01422: exact fetch returns more than number of lines
This syntax of my procedure
create or replace procedure app is
i nombre := 100 ;
o_username employees.first_name% TYPE ;
o_lastn employees. Last_name %TYPE
o_sal. employees % of SALARY TYPE ;
Start
loop
/ * display * /.
Select first_name, LAST_NAME, SALARY
in o_username, o_lastn, o_sal
of admin.employees where employee_id = i;
DBMS_OUTPUT. Put_line (' name: ' | o_username);
DBMS_OUTPUT. Put_line (' first name: ' | o_lastn);
DBMS_OUTPUT. Put_line (' salary: ' | o_sal)
/ * put a days * /.
Update employees
put salary = salary + salary *0.25 where employee_id = i;
commit;
/ * dbms_put.put_line (' new salary is: ' | ') sell2_tab (i)); * /
i := i + 1 ;
/ * list the data * /
/ * dbms_put.put_line (' new salary is: ' ") ;*/
output when i = 200;
end loop;
end app;
thnx
create or replace procedure APP is
Constant START_ID EMPLOYEES. EMPLOYEE_ID % TYPE: = 100;
Constant END_ID EMPLOYEES. EMPLOYEE_ID % TYPE: = 200;
O_USERNAME EMPLOYEES. Type % name;
O_LASTN EMPLOYEES. Last_name type %;
O_SAL EMPLOYEES. Kind of % of SALARY;
Start
for rec (select FIRST_NAME, LAST_NAME, salary
the admin. EMPLOYEES
where EMPLOYEE_ID between START_ID and END_ID)
loop
DBMS_OUTPUT. Put_line (' name: ' | rec. NAME);
DBMS_OUTPUT. Put_line ("first name:" | ") Rec. LAST_NAME);
DBMS_OUTPUT. Put_line (' salary: ' | rec. SALARY) / * setting days * /.
end loop;
Update EMPLOYEES
Set SALARY = SALARY + SALARY * 0.25
where EMPLOYEE_ID between START_ID and END_ID;
commit;
end app;
-
Single - row subquery returns more than one line.
Hi Experts
I am faced with error
ORA-01427: single - row subquery returns more than one line.
MyQuery is:
select TO_CHAR(T.MR_REG_DATE,'DD') "DATE" ,CASE WHEN trunc((MONTHS_BETWEEN(T.MR_REG_DATE,T.MR_DOB))) between 0 and 1 THEN ' 01'||' - ('||'0 - 1 Month)' WHEN trunc((MONTHS_BETWEEN(T.MR_REG_DATE,T.MR_DOB))) BETWEEN 2 AND 12 THEN ' 02'||' - ('||'2 - 12 Months)' WHEN trunc((MONTHS_BETWEEN(T.MR_REG_DATE,T.MR_DOB))) BETWEEN 13 AND 60 THEN ' 03'||' - ('||'1 - 5 Years)' WHEN trunc((MONTHS_BETWEEN(T.MR_REG_DATE,T.MR_DOB))) BETWEEN 61 AND 120 THEN ' 04'||' - ('||'5 - 10 Years)' WHEN trunc((MONTHS_BETWEEN(T.MR_REG_DATE,T.MR_DOB))) > 120 then ' 05'||' - ('||'> 10 Years)' END age ,count(T.Mr_Code) No_of_Patient ,( SELECT count(x.mr_code) mr_code FROM HMIS_MRINFO X where X.mr_reg_date between &FRM_DATE AND &TO_DATE and X.mr_code NOT in (select Y.mr_code from hmis_pat_add_dis_detail Y WHERE Y.mr_reg_date between &FRM_DATE AND &TO_DATE ) GROUP BY CASE WHEN trunc((MONTHS_BETWEEN(X.MR_REG_DATE,X.MR_DOB))) between 0 and 1 THEN ' 01'||' - ('||'0 - 1 Month)' WHEN trunc((MONTHS_BETWEEN(X.MR_REG_DATE,X.MR_DOB))) BETWEEN 2 AND 12 THEN ' 02'||' - ('||'2 - 12 Months)' WHEN trunc((MONTHS_BETWEEN(X.MR_REG_DATE,X.MR_DOB))) BETWEEN 13 AND 60 THEN ' 03'||' - ('||'1 - 5 Years)' WHEN trunc((MONTHS_BETWEEN(X.MR_REG_DATE,X.MR_DOB))) BETWEEN 61 AND 120 THEN ' 04'||' - ('||'5 - 10 Years)' WHEN trunc((MONTHS_BETWEEN(X.MR_REG_DATE,X.MR_DOB))) > 120 then ' 05'||' - ('||'> 10 Years)' END ) Missing_MR from hmis_mrinfo T,hmis_pat_add_dis_detail M where T.mr_code = M.mr_code(+) and T.mr_reg_date between &FRM_DATE AND &TO_DATE &AGE_GRP GROUP BY T.MR_REG_DATE ,CASE WHEN trunc((MONTHS_BETWEEN(T.MR_REG_DATE,T.MR_DOB))) between 0 and 1 THEN ' 01'||' - ('||'0 - 1 Month)' WHEN trunc((MONTHS_BETWEEN(T.MR_REG_DATE,T.MR_DOB))) BETWEEN 2 AND 12 THEN ' 02'||' - ('||'2 - 12 Months)' WHEN trunc((MONTHS_BETWEEN(T.MR_REG_DATE,T.MR_DOB))) BETWEEN 13 AND 60 THEN ' 03'||' - ('||'1 - 5 Years)' WHEN trunc((MONTHS_BETWEEN(T.MR_REG_DATE,T.MR_DOB))) BETWEEN 61 AND 120 THEN ' 04'||' - ('||'5 - 10 Years)' WHEN trunc((MONTHS_BETWEEN(T.MR_REG_DATE,T.MR_DOB))) > 120 then ' 05'||' - ('||'> 10 Years)' END ORDER BY T.MR_REG_DATE;
Please give some advice / solution.
I think this might do it for you
Select
TO_CHAR (T.MR_REG_DATE, 'DD') "DATE."
CASE
WHEN trunc ((MONTHS_BETWEEN (T.MR_REG_DATE, T.MR_DOB))) between 0 and 1 THEN ' 01' |'. - ('||' 0-1 month)"
WHEN trunc ((MONTHS_BETWEEN (T.MR_REG_DATE, T.MR_DOB))) BETWEEN 2 AND 12 THEN ' 02' |'. - ('||' 2-12 months)"
WHEN trunc ((MONTHS_BETWEEN (T.MR_REG_DATE, T.MR_DOB))) BETWEEN 13 AND 60 THEN ' 03' |'. - ('||' 1-5 years)"
WHEN trunc ((MONTHS_BETWEEN (T.MR_REG_DATE, T.MR_DOB))) BETWEEN 61 AND 120 THEN ' 04' |'. - ('||' 5-10 years)'
WHEN trunc ((MONTHS_BETWEEN (T.MR_REG_DATE, T.MR_DOB))) > 120 then ' 05' |'. ' - ('| ' > 10 years).
Age of the END
count (T.Mr_Code) No_of_Patient
, count (case when t.mr_code NOT in (select Y.mr_code from hmis_pat_add_dis_detail Y))
WHERE Y.mr_reg_date between & FRM_DATE AND & TO_DATE)
then t.mr_code
(end) Missing_MR
of hmis_mrinfo T, hmis_pat_add_dis_detail M
where T.mr_code = M.mr_code (+)
and between T.mr_reg_date & FRM_DATE AND & TO_DATE
& AGE_GRP
T.MR_REG_DATE GROUP
CASE
WHEN trunc ((MONTHS_BETWEEN (T.MR_REG_DATE, T.MR_DOB))) between 0 and 1 THEN ' 01' |'. - ('||' 0-1 month)"
WHEN trunc ((MONTHS_BETWEEN (T.MR_REG_DATE, T.MR_DOB))) BETWEEN 2 AND 12 THEN ' 02' |'. - ('||' 2-12 months)"
WHEN trunc ((MONTHS_BETWEEN (T.MR_REG_DATE, T.MR_DOB))) BETWEEN 13 AND 60 THEN ' 03' |'. - ('||' 1-5 years)"
WHEN trunc ((MONTHS_BETWEEN (T.MR_REG_DATE, T.MR_DOB))) BETWEEN 61 AND 120 THEN ' 04' |'. - ('||' 5-10 years)'
WHEN trunc ((MONTHS_BETWEEN (T.MR_REG_DATE, T.MR_DOB))) > 120 then ' 05' |'. ' - ('| ' > 10 years).
END
ORDER BY T.MR_REG_DATE;
-
replacement selection on 2 columns and return more than 1 column lists
Hello
I try to build 2 other selection lists and each selection list should return more than 1 column
2 PART_ID and PART_SPECIFICATION columns
Now I build a select on PART_ID as list
Select part_id d, part_id parts r;
The result should be:
PART_ID and PART_SPECIFICATION a PART_ID column must be the text of PART_SPECIFICATION
The selection based on PART_SPECIFICATION list should be like
Select d, part_id parts r part_specification;
Now, it should be posted part_specification in PART_SPECIFICATION and part_id in PART_ID.
This is because a user knows the part_id and the other knows only the specification
Please help me
Siegwin
Hi Siegwin,
Check your application Page 7 (copy of the 500 page) using the selection instead of plugin list, it gives all the values.
and works very well,
use ajax process to get the Xml data in page elements
Here are the changes
application process: getData
point of application: TEMPORARY_APPLICATION_ITEM
create a function in the html header pull_multi_value() page
and he gave the floor to point page p7_empno on the attribute of the html form element as onchange = "pull_multi_value (this.value)"; ""
This can help you.
Leave.
-
ORA-01422: exact fetch returns more than number of rows - FIX?
Dear experts of PL/SQL,
I encounter this problem when running under procedure, how this can be exceeded? Procedure was running well for the last few weeks and we have this problem all of a sudden:
ORA-01422: exact fetch returns more than number of lines
CREATE OR REPLACE PROCEDURE DBA_MAINT. () SQL_EXEC_DRILLDOWN
beginsnapid in numbers
endsnapid in numbers
)
AS
begin_date varchar2 (30);
End_date varchar2 (30);
statName VARCHAR2 (64);
err_msg VARCHAR2 (100);
The CNT number;
cursor c1
is
Select stat_name,
Sum in the NTC
de)
Select instance_number,
stat_name,
((VALUE) max - min (VALUE)) COUNTY
of dba_hist_sysstat
where stat_name in ("run the County", 'parse count (total)', "parse count (hard)")
and snap_id between beginsnapid
and endsnapid
Instance_number group, stat_name)
Stat_name group
Union of all the
Select stat_name,
Sum in the NTC
de)
Select instance_number,
stat_name,
Round (((value) - (VALUE) min Max) / 1000000) COUNTY
of DBA_HIST_SYS_TIME_MODEL
where stat_name in ("DB CPU", "background time cpu", 'sql execute elapsed time', 'analysis elapsed time', ' parse hard time elapsed ")
and snap_id between beginsnapid
and endsnapid
Instance_number group, stat_name)
Stat_name Union group all the
Select stat_name,
MySQL as cnt
de)
Select a.stat_name stat_name,
(b.value - a.value) VALUE
dba_hist_sysstat a, dba_hist_sysstat b
where a.dbid = b.dbid
and a.instance_number = b.instance_number
and a.stat_id = b.stat_id
and a.snap_id = beginsnapid
and b.snap_id = endsnapid
and a.stat_name in ('physical reads',
"physical Scriptures."
"physical read IO total number of applications."
"physical write IO requests total."
"Physics read total multi block requests."
"total multi block request writing for the physical box,.
("reading session logic")
and a.instance_number = b.instance_number)
Stat_name group;
Start
Start
Select distinct TO_CHAR (END_INTERVAL_TIME, "MM/DD/YYYY HH24 '")
in begin_date
of dba_hist_snapshot
where snap_id = beginsnapid;
Select distinct TO_CHAR (END_INTERVAL_TIME, "MM/DD/YYYY HH24 '")
in end_date
of dba_hist_snapshot
where snap_id = endsnapid;
-DBMS_OUTPUT. Put_line (begin_date);
-DBMS_OUTPUT. Put_line (end_date);
exception
When no_data_found
then
null;
end;
C1_rec IN C1
LOOP
Start
Insert
in DBA_MAINT. Values (DB_SQL_EXEC_DETAILS)
beginsnapid,
endsnapid,
begin_date,
End_date,
c1_rec.stat_name,
c1_rec. CNT
);
-DBMS_OUTPUT. Put_line (c1_rec.stat_name |) » '|| c1_rec. CNT);
exception
When no_data_found
then
null;
end;
end loop;
commit;
end;
/
Reasons to explain above, but I think it would be more appropriate select latest END_INTERVAL_TIME as follows
Select TO_CHAR ((max (END_INTERVAL_TIME)), "MM/DD/YYYY HH24")
in begin_date
of dba_hist_snapshot
where snap_id = beginsnapid;
Select TO_CHAR ((max (END_INTERVAL_TIME)), "MM/DD/YYYY HH24")
in end_date
of dba_hist_snapshot
where snap_id = endsnapid;
-
Hello
Our environment is Essbase 11.1.2.2 and work on Essbase EAS and components of Shared Services. One of our user tried to execute the Script of Cal of a single application and in the face of this error.
Dynamics Processor Calc does not reach more than [100] ESM blocks during the calculation, please increase the CalcLockBlock setting, and then try again (a small data cache setting can also cause this problem, check the size of data cache setting).
I did a few Google and found that we need to add something in the Essbase.cfg file as below.
Dynamics Processor Calc 1012704 fails to more blocks ESM number for the calculation, please increase the CalcLockBlock setting, and then try again (a small data cache setting can also cause this problem, check the size of data cache setting).
Possible problems
Analytical services cannot lock enough blocks to perform the calculation.
Possible solutions
Increase the number of blocks of analytical Services can allocate to a calculation:
- Set the maximum number of blocks of analytical Services can allocate at least 500.
- If you are not a
$ARBORPATH/bin/essbase.cfg
on the file server computer, create one using a text editor. - In the
essbase.cfg
folder on the server computer, set CALCLOCKBLOCKHIGH to 500. - Stopping and restarting Analysis server.
- If you are not a
- Add the command SET LOCKBLOCK STUDENT at the beginning of the calculation script.
- Set the cache of data large enough to hold all the blocks specified in the CALCLOCKBLOCKHIGH parameter.
In fact in our queue (essbase.cfg) Config Server we have given below added.
CalcLockBlockHigh 2000
CalcLockBlockDefault 200
CalcLockBlocklow 50
So my question is if edit us the file Essbase.cfg and add the above settings restart services will work? and if yes, why should change us the configuration file of server if the problem concerns a Cal Script application. Please guide me how to do this.
Kind regards
Naveen
Yes it must *.
Make sure that you have "migrated settings cache of database as well. If the cache is too small, you will have similar problems.
- Set the maximum number of blocks of analytical Services can allocate at least 500.
-
exact fetch returns more than number of lines
Hello
I have here is the procedure to kill session from blocking. It works fine if a row is returned to select it.
How can I change to operate multiple lines?CREATE OR REPLACE PROCEDURE kill_blocking IS
l_sid NUMBER (10);
l_serial NUMBER (10);
l_wait NUMBER (10);
l_username VARCHAR2 (20);
sqlstmt VARCHAR2 (1000);
BEGIN
SELECT s1. SID, s1.serial #, s2.seconds_in_wait, s2.username
IN l_sid, l_serial, l_wait, l_username
V $ lock l1.
v$ session s1,.
v$ lock l2,.
v$ session s2,.
v$ sql sqlt1.
v$ sql sqlt2
WHERE s1. SID = l1. SID
AND s2. SID = l2. SID
AND sqlt1.sql_id = s2.sql_id
AND sqlt2.sql_id = s1.prev_sql_id
AND l1. BLOCK = 1
AND l2.request > 0
AND l1.id1 = l2.id1
AND l2.id2 = l2.id2;
IF l_username = "APP" AND l_wait > 100
THEN
sqlstmt: =.
"ALTER SYSTEM KILL SESSION"'.
|| To_char (l_sid)
|| ','
|| To_char (l_serial)
|| '''';
Dbms_output.put_line (sqlstmt);
EXECUTE IMMEDIATE sqlstmt;
END IF;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
Dbms_output.put_line ('no data found');
END;
/
SQL > exec kill_blocking;
BEGIN kill_blocking; END;*
ERROR on line 1:
ORA-01422: exact fetch returns more than number of lines
ORA-06512: at TK. "KILL_BLOCKING", line 8
ORA-06512: at line 1Hello
You can use the procedure below
create or replace
PROCEDURE kill_blocking_mig
IS
l_sid NUMBER (10);
l_serial NUMBER (10);
l_wait NUMBER (10);
l_username VARCHAR2 (20);
sqlstmt VARCHAR2 (1000);
CURSOR status_cus IS
SELECT s1. SID, S1. Serial #, s2.seconds_in_wait, s2.username
V $ lock l1.
v$ session s1,.
v$ lock l2,.
v$ session s2,.
v$ sql sqlt1.
v$ sql sqlt2
WHERE s1. SID = l1. SID
AND s2. SID = l2. SID
AND sqlt1.sql_id = s2.sql_id
AND sqlt2.sql_id = s1.prev_sql_id
AND l1. BLOCK = 1
AND l2.request > 0
AND l1.id1 = l2.id1
AND l2.id2 = l2.id2;
BEGIN
OPEN status_cus.
loop
extract the status_cus IN l_sid, l_serial, l_wait, l_username;
When the output status_cus % notfound;
IF l_username = "APP" AND l_wait > 100 THEN
sqlstmt: = ' EDIT the SYSTEM KILL SESSION "' | To_char (l_sid) | ',' || To_char (l_serial) | '''';
Dbms_output.put_line (sqlstmt);
EXECUTE IMMEDIATE sqlstmt;
END IF;
end loop;
EXCEPTION
WHEN NO_DATA_FOUND THEN
Dbms_output.put_line ('no data found');
END;
-
A row of Sub query returns more than 1 row!
I'm trying to update the values in one table from another table and get the error: void line query returns More Than 1 row.
I want to PRV_NAME B chart updated in the table A PRV_NAME where A.PRVID = B.PRVID where B.PRV_TYPE = M"
The two paintings were all unique PRVID, however, table B has PRVID that have the same name. So the data in table B can look like this:
PRVID PRV_NAME
1234 PHOENIX MED
1235 MED BAG
1236 MED BAG
1237 OVERLAND
etc...
So, as you can see are the unique PRVID, but not the PRV_NAME. Is this the reason why I get this error?
I do not build the tables and have no control over what is put in them. If this is the reason for the error, is there a way to fix this?
For reference, here's the request. Maybe there's something wrong with that?
Update msb_prv_source ps
Set ps.prv_name =
(select prv00.prv00_prv_name
of prv00_prv prv00
Join msb_prv_source ps
On prv00.prv00_prv_id = ps.prvid
where prv00.prv00_prv_type = am')
Published by: user12296489 on April 19, 2013 10:46/* Formatted on 4/19/2013 2:00:43 PM (QP5 v5.185.11230.41888) */ MERGE INTO msb_prv_source a USING (SELECT * FROM prv00_prv WHERE prv00_prv_type = 'M') b ON (a.prv00_prv_id = b.prvi) WHEN MATCHED THEN UPDATE SET a.prv_name = prv00_prv_name
Maybe you are looking for
-
Hello I have a 2009 edition with CPU Xeon x 5550 and Quadrofx 3800 z800. I don't know much about the hardware specs and I need help because I intend to upgrade. So I was wondering if I could spend my z800 with new cpu and gpu specs. Like the nvidia g
-
Disable selection of text on the indicator of the FP
This is asked in the spirit of an attractive user interface. I have a text box that displays the different bits of data. This part works fine. What I would do, is make it impossible for the user to select the text in the box. A click of the mouse ins
-
App hides the toolbar state of BlackBerry
On my Z10, my app covers the status bar at the top of the screen (shows the time, battery, wifi, etc.). I want to show the status bar while my app is running, how can I change this?
-
Can I remove the storage (default) of a multi-member Equallogic array group Pool
Current config: 1 group, 3 members Equallogic arrays: Array01, Array02 and Array03. 3 Array01 of Pools of storage (default), Array02, Array03 I need to remove the Array01 member to remove the group. The default storage pool moves automatically to ano
-
HelloI have a lov and the return value of this lov is assigned to a formval. I have a Viewobject VO1 which is attributed to the return values of point LOV. After selecting a value from the lov, I am tring to get the return value later of the viewobje