Doubt in nested table
i have defind nested table as beow
TYPE emp_rec IS RECORD (
v_sal emp.sal%TYPE,
v_name emp.ename%TYPE
TYPE empno_tab_type IS TABLE OF emp_rec;
emp_tab empno_tab_type;
i want to assign values to empno_tab_type by hard coding how to do that.
declare
type emp_rec is record
( sal emp.sal%type
, name emp.ename%type );
type empno_tab_type is table of emp_rec;
emp_tab empno_tab_type := empno_tab_type();
begin
emp_tab.extend;
emp_tab(1).sal := 99999.99;
emp_tab(1).name := 'Ricci';
end;
Similar Messages
-
About nested tables in oracle 8i
hello,
actually i am working with oracle 8.1.5 's nested tables
concept...
here is a description of my tables
create type parameterranges
parameter_name varchar2(20),
min_value number(10),
max_value number(10)
create type parameter_ran as table of parameterranges
create table material_details
mat_type varchar2(20),
parameter_ranges parameter_ran
okay...
now my doubt is how do i place constraints on the nested table fields i.e on min_value etc...(especially NOT NULL
constraint)
DOUBT NO 2
=============
I have a query to find out the mat_type,partno from material_details table Based on the parameter value and its min_value ,i.e based on some name value pairs which I am achieving as below .
select m.mat_type,m.partno
from material_details m,table(m.parameter_ranges) p
where p.parameter ='THICKNESS' and p.min_value = '1'
and m.mat_type='STEEL'
intersect
select m.mat_type, m.partno
from material_details m,table(m.parameter_ranges) p
where p.parameter ='STANDARD' and p.min_value = 'SAE1010'
and m.mat_type='STEEL';
Now I want this to be in a cursor..i.e I want to use the same set of rows returned by the above in another query involving another table .
That is using the multiple mat_type and partno returned from above I want to find out
Other fields (company,plant) from another table part_details which also has a nested table in it
How do I go about this???Actually I want to use these in a PLSQL procedure where we can have row by row control of the rows returned ,that is why I want a cursor.......
could u think about this too...and if possible mail me at my yahoo id ..
thanx once again
please reply to my id
[email protected]
thanx
nullI don't understand exactly your problem. Can you send me a mail which expresses your problem??
-
How to Insert records in Nested Table
Hello Friends,
I have doubt in below Nested table.
I have inserted the value in emp table
EMP TABLE
EMPNO ENAME PROJECTS
1 A DATASET
2 B DATASET
but not in project_type object. Now I want to insert the record in project_type for name and role field. Please resolve my problem.
SQL> create type project_type as object
2 (
3 name varchar2(50),
4 role varchar2(20)
5 )
6 /
Type created.
SQL>
SQL> create type ProjectTable as Table of Project_type
2 /
Type created.
SQL>
SQL> create table emp
2 ( empno number(5),
3 ename varchar2(30),
4 projects projecttable
5 )
6 nested table projects store as projects_nt
7 /
Table created.
Thanks...Ok if you have inserted a row in the emp table and now you want to update the projects column which is null then you would do something like:
update emp
set projects = projecttable(project_type('..', '..'))
where empno = ...However say that the projects column is not null and you want to add a new record into the nested table then you would do:
insert into (select projects from emp where empno = ...)
values ('...', '...')And finally imagine you have a record in the nested table that you want to update then you would do the following:
update (select projects from emp where empno = ...)
set role = '...'
where name = '...' -
"member of " not working with nested table of dates
Can someone explain why this doesn't work. The last select does not return any row. When trying the same with a table of number, it works fine.
drop table test;
drop type date_tab;
create type date_tab as table of date;
create table test(dates date_tab) nested table dates store as dates;
insert into test values (date_tab(to_date('10-jan-2007'),to_date('15-jan-2007'),to_date('15-jan-2007')));
commit;
select * from test where to_date('10-jan-2007') member of dates;
Line above should find the row, but does not return anything.> With 10G Oracle said that these two engines are now sharing the same source code
Is that documented somewhere? Regarding database versions, it was 9.0.1 that claimed an integrated parser. I don't see any update for 10g.
> So in the old days one had to do a [SELECT sysdate INTO d FROM dual] to assign a function value to a PL/SQL var - as the function did not exist in PL/SQL.
Then (from Oracle 7 onwards?) these functions were also available in PL/SQL. However, the two engines did not share common code. So functions in SQL did not always behave like function in PL/SQL and vice versa.
I don't recall that limitation in PL/SQL v1 (Forms 3 to 4.5, and database v6, though I doubt many people actually used PL/SQL on the database because (1) it was separately licensed, and (2) it didn't have stored procedures) - but then it was a while ago so I could be mistaken.
I know USER, SYSDATE and others used to be implicit queries of dual (i.e. the supplied PL/SQL function was just a wrapper containing SELECT SYSDATE INTO dt FROM dual; RETURN dt;) although that's probably just confusing the issue. -
Using the values in the Nested table container
Hi All,
I have a requirement where the values present in the nested table container should be used in the item text(send mail step).
I have tried using like &req.itemtab.att [ 10 ]& as i want to display 10 element in the table att which is nested in table itemtab. Still its not working.
provide solution how to use valued in nested tables.
Thanks,
Preethi.I really doubt , wheter you will be able to use the syntaxt which you have mentioned here.
Another thing I could not get which have mentioned as atts 10 ??
Earlier I was under assumption that your multiline element has only one field.
however in your case , I think you should put a logic in workflow and separate the date values in multiline container element, and then use this container element directly in mail step.
Regds,
Akshay
Edited by: Akshay Bhagwat on Feb 7, 2008 10:53 AM -
Doubts about Temporary Table.
Hi,
I am using Temporary Table.
But the insert command takes too much time compare to insert in Normal table.
One more doubt about Temporary Table is:
Suppose there are two different users. They connect and first insert rows of their use .Now they go for select.
Does select of one user goes to check the rows of second user also or the temporary table treats 2 users data as inserted in 2 different tables?
Help!!!Nested structure (not deep - deep means their a string or a table as a component)
TYPES: BEGIN OF tp_header_type,
BEGIN OF d,
empresa TYPE ...
num_docsap TYPE ...
END OF d,
awkey TYPE ...
END OF tp_header_type.
matt -
RFC connection, process a nested table parameter
We are encountering an issue that we need to use nested table parameter when creating connection between webdynpro and ABAP RFC module.
Heard from somewhere that nested table processing is not well supported at WebDynpro side, will it affect calling performance a lot? Do we have some methods to deal with this kind of parameter?Hi
Well refer this document which will really help you. If you have used a table within a table i dont think it should be a performance problem as long as it is defined as a Table Parameter in the RFC. But anyway refer to this document.
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/webas/webdynpro/effective web dynpro - adaptive rfc models
That should really help you out. Ensure that you dont give tables in Export or Import parameters.
Go through the document link and that should clear all your doubts.
regards
ravi -
I have a requirement like:-
in my procedure, there will be 2 cursors like printing details of locations of companies like
Name Address City
where name will be fetched from outer cursor & details of branches of that company ie Address, City will be printed from the inner cursor. This is just a example. I want to fetch multiple values of Address & city in a variable which if it is a single variable will give exception " more rows". So, i could use nested tables, i guess. Please, give example of this using nested tables. I hope, my question is clear. Please help, in solving the doubt.
regards.refer docs for sample programs :
http://download-west.oracle.com/docs/cd/B14117_01/appdev.101/b10807/05_colls.htm#i26701 -
Problem in creation of Nested Table
Hi Everyone,
I have applied thisexample for creating nested tables but at the end I got the message of invalid datatype
current_address full_mailing_address_type,
ERROR at line 4:
ORA-00902: invalid datatype
http://www.praetoriate.com/oracle_tips_nested_tables.htm
Please help me out.....
Message was edited by:
DharmendraWhat is the output for
select * from user_types
? -
Nested tables and multiset operators in Oracle 10g
Consider the following scenario:
We have two identical relations R and S defined as:
CREATE TABLE R(
a INTEGER,
b table_type)
NESTED TABLE b STORE as b_1;
CREATE TABLE S(
a INTEGER,
b table_type)
NESTED TABLE b STORE as b_2;
where table_typ is defined as
CREATE TYPE table_typ AS TABLE OF VARCHAR2(8);
Suppose we have two instances of R and S, each having one tuple as follows: R(1,table_typ('a','b')) and S(1,table_typ('b','c')).
I would like to "merge" these two simple instances (e.g., achieve the effect of a simple SELECT * FROM R UNION SELECT * FROM S query) and obtain the following resulting instance: Result(1,table_typ('a','b','c')).
Would this be possible in Oracle 10g? A simple UNION does not work (I got a "inconsistent datatypes: expected - got SCOTT.TABLE_TYP" error). I also took a look at the MULTISET UNION operator over nested tables available in Oracle 10g, but it doesn't seem to get me anywhere. Any help on this would be greatly appreciated.
Thank you,
LauraOracle Database 10g Enterprise Edition Release 10.1.0.2.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
SQL> CREATE OR REPLACE TYPE table_type AS TABLE OF VARCHAR2 (8);
2 /
Type created.
SQL> CREATE TABLE r(
2 a INTEGER,
3 b table_type)
4 NESTED TABLE b STORE as b_1;
Table created.
SQL> CREATE TABLE s(
2 a INTEGER,
3 b table_type)
4 NESTED TABLE b STORE as b_2;
Table created.
SQL> INSERT INTO r VALUES (1, table_type ('a', 'b'));
1 row created.
SQL> INSERT INTO s VALUES (1, table_type ('b', 'c'));
1 row created.
SQL> COLUMN c FORMAT A10;
SQL> SELECT r.a, r.b MULTISET UNION DISTINCT s.b c
2 FROM r, s
3 WHERE r.a = s.a;
A C
1 TABLE_TYPE('a', 'b', 'c')
SQL> -
Nested tables in RTF templates
Hi,
I've developed several templates including nested tables(to display parent/child transactions together in a single column group, displaying all the detail transactions but the parent only once), in PDF output this looks fine. However the users want all their output in Excel, this same layout is not picked up by Excel(all column headers for the data in the nested table move to the right, while all the data in the nested table is grouped under a 'merged cell' column header). Output of BI Publisher reports in Excel is generally terrible with a template designed for publishing in PDF, usually I can solve this with a lot of tweaking but haven't found a solution for this issue yet. Has anyone else run into this formatting issue and may have a tip to solve this?
Regards,
ArthurHi,
You need to declare a TYPE object as and then use it in the table structure.
CREATE TYPE type_emp IS TABLE OF VARCHAR2(15);
CREATE TABLE Biscuits Company SA
(company_name COMPANY NOT NULL,
Company_Owner VARCHAR2(20) NOT NULL)
NESTED TABLE staff_tab STORE AS type_emp;
Please see the link for more info.
http://www.developer.com/db/article.php/10920_3379271_3
Thanks -
Hi,
I am getting blank page because of page break after nested table.
When page is full with the records then because of nested table, it added one space after that.
Has anyone faced this issue before?
ThanksHi,
Upload the .rtf template and XML sample so we can see your issue.
Also I recommend you to review our page-break document:
http://docs.oracle.com/cd/E28280_01/bi.1111/e22254/create_rtf_tmpl.htm#BIPRD2457
Regards,
Liviu -
Associative Array to Nested Table: Anything faster?
(First Post! Some ASP.NET references, but I think this really is a PL/SQL question)
I work on a team that runs an Oracle instance for data warehousing and reporting along with an ASP.NET based website for display.
Sometimes, I may want to have many parameters come in and only show records that match those parameters. For example, I may want to show all employees who are Managers or Developers and not show employees who are Accountants or Scientists. Typically, I send a parameter into my PL/SQL stored procedures as an associative array (as declared in my package specification). Once in the procedure, I convert that associative array into another associative array (as a user created SQL type) and then I'm able to use it like a nested table to join on.
My question is: in your experience, is there any way to get around this type conversion or another faster way?
For example:
-- Create the sql type
CREATE OR REPLACE TYPE DIM.sql_string_table AS TABLE OF VARCHAR2(255);
--pretend that this works and it's in a package body
declare
type string_table is table of varchar2(255) index by binary_integer;
l_job_types string_table; -- Keep in mind I'd normally be sending this via ASP.NET
l_job_types_nested sql_string_table := sql_string_table();
begin
-- Add some data
l_job_types(0) := 'Manager';
l_job_types(1) := 'Developer';
-- Do the conversion
for i in l_job_types.first .. l_job_types.last
loop
l_job_types_nested.extend;
l_job_types_nested(l_job_types_nested.count) := l_job_types(i);
end loop;
-- get some data out (we're pretending)
open fake_ref_cursor for
Select e.*
from employees e,
the(select cast(l_job_types_nested as sql_string_table) from dual) jobs_types_wanted
where e.type = value(jobs_types_wanted);
end;
The result would be all employees whose have a type that was input into the l_job_types associatve array.
See: http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:110612348061
for additional reference> I convert that associative array into another associative array (as a user created SQL type)
Just so we're clear, Oracle use the term 'associative array' to refer to the exclusively PL/SQL sparse collection type ("table of x index by pls_integer" etc) as distinct from the common nested table collection type.
Also I could be wrong but I think
SELECT ..
FROM the(select cast(l_job_types_nested as sql_string_table) from dual) jobs_types_wantedis generally the same as
SELECT ..
FROM TABLE(l_job_types_nested) jobs_types_wantedthough "SELECT *" and implicitly collection casting don't always mix. The "THE()" syntax is deprecated. -
How to use nested tables with the inner table in a separate row
Hi,
I am having a problem when changing our existing Adobe printform delivery note so that serial numbers are written for each item line.
I've searched the forum and found many posts relating to nested tables, but none that had exactly my situation.
Currently I print item lines like this (this uses the complete width of the form):
Pos....Quantity...Material..........Description..................................................Date
99.........99.........ABCDEFGH....alksdalksjdlkasjdlsajdlkjasldjaslkdjakslj........9999.99.99
.................................................fskdjflsdfljsdflkjsdlkfjsdlkjfdfsf
.................................................asdkadsfdkfhsdkfhskjdfhks
but I want to add serial numbers after that for each item like this:
Pos....Quantity...Material..........Description...................................................Date
99.........99.........ABCDEFGH....alksdalksjdlkasjdlsajdlkjasldjaslkdjakslj.........9999.99.99
.................................................fskdjflsdfljsdflkjsdlkfjsdlkjfdfsf
.................................................asdkadsfdkfhsdkfhskjdfhks
.................................................Serial numbers:
.................................................9999999999..9999999999..9999999999
.................................................9999999999..9999999999..9999999999
I have added serial numbers to my the current table in the interface/context/data view so it look like this:
TTYP - ITEM_FIELDS
...DATA structure
......POSNR
......QTY
......MATNR
......TTYP - ITEM_TEXTS
.........DATA structure
............DESCRIPTION
......DATE
......TTYP - SERIAL_NOS
.........DATA structure
............SERIAL_COL1
............SERIAL_COL2
............SERIAL_COL3
In my Hierarchy I currently have this hierarchy and binding:
Table - ITEM_FIELDS
...Body Row - DATA
......Cell - POSNR
......Cell - QTY
......Cell - MATNR
......Subform - ItemTexts
.........Table - ITEM_TEXTS
............Body Row - DATA
...............Cell - DESCRIPTION
......Cell - DATE
Now I am trying to add the SERIAL_NOS table into the ITEM_FIELDS/DATA body row right after the DATE cell - but I am not allowed to drag anything into the table structure.
Does anybody have an ida how I can achieve this, please?
Kind regards,
Claus ChristensenHI,
Set the body page as flowed and set the tables also flowed.
go to bodypage>object->subform-->select flowed option.
I thihnk this will work..if u are getting all the records properly into the tables 1 and 2.
Thanks,
Mahdukar -
How to delete the NULL entries in nest table
Hi,
After I used a loop and open/fetch cursor populated the object table
I found there are random NULL entries in my object table (nest table)
The data look like this
NULL NULL NULL
NULL NULL NULL
123 03-MAY-04 ACTIVE
NULL NULL NULL
NULL NULL NULL
234 21-MAY-04 ACTIVE
NULL NULL NULL
345 11-MAY-04 ACTIVE
NULL NULL NULL
How can I get rid of those NULL entries in my nest table? So it can become
123 03-MAY-04 ACTIVE
234 21-MAY-04 ACTIVE
345 11-MAY-04 ACTIVE
Additional info:
create type myType as object
(id NUMBER (10,0),
eff_date date,
status VARCHAR2(17)
create type myNestTab as table of myType;
I have tried Delete procedure in following two ways.
Version 1:
FOR i IN l_my_nest_tab.FIRST..l_my_nest_tab.LAST
LOOP
IF l_my_nest_tab(i).id IS NULL THEN
l_curr_event_tb.DELETE(i);
END IF;
END LOOP;
Version 2:
FOR i IN l_my_nest_tab.FIRST..l_my_nest_tab.LAST
LOOP
IF l_my_nest_tab(i) IS NULL THEN
l_curr_event_tb.DELETE(i);
END IF;
END LOOP;
Both of them give me the error no data found. And only left me the first NOT NULL entry in the table.
123 03-MAY-04 ACTIVE
Thanks in avdance.Hi Vishnu,
u can write a report program for this and in that use the event :
AT NEW <field-name> ( use primary key)
your statements
ENDAT
for eg.
loop at itab ( herfe itab must be of type of table for which u want to track new entries)
at new matnr
write:/ new record
endat
endloop.
schedule this report in background to run in every 5 or 10 mins as per your requirement and hence changes can be tracked.
regards
Vinod
Maybe you are looking for
-
My question is about the 'Restore Backup' option on iTunes (Not 'Restore iPhone'). So, if I click on Back Up Now, then 'Restore Backup', would that go through the process of erasing everything on my phone as new then restore whatever iTunes has backe
-
I walked away from my iMac this afternoon and came back and the display is no longer working. I have tried restarting it as well as the support offered on Apple's site here - http://docs.info.apple.com/article.html?artnum=303138 My problem is there a
-
N8 and windows 7 internet connectivity
i have had headaches with this issue. i have ovi suite installed on my computer(s) from the phone(s), have taken of pc suite because it was making ovi suite crash, after downloading windows 7 sp1 on one computer, I can now connect to internet with e
-
PeopleTools 8.49.22 with Oracle 11gR2
Hello. We have an installation of peoplesoft using peopletools 8.49.22 with Oracle 10.2.0.4.0 on Solaris 10 Recenlty the DBAs are migrating the databases to Oracle 11.2.0.3.0. Our demo database was upgraded and they installed the Oracle Client 11.2.0
-
Pulling configs off of VPN Concentrator 3020
I am currently trying to set up a site-to-site VPN for a vendor on an ASA. The vendor has an existing connection through our out-dated VPNC3020. After doing some research on the web, I could not find a way to pull the configs off of the 3020 to expe