Join table with an object type
Hi,
I would like ot know how to join a table with another table having an object type as a column value.
For ex:
Create type add_obj as object (st varchar2(10), city varchar2(10), zip varchar2(10));
Table A
Cust_id number
cust_address add_obj
Table B
Cust_id number
order_id number
I want to select the complete address for each order.
Is this the correct way to do this select:
Select o.order_id, c.customer_id, c.cust_address.st, c.cust_address.city, c.cust_address.zip
from table A c, table B o;
Any leads is appreciated. Thanks in advance.
>
unfortunately with a crashed Oracle db I could try nothing.... Forums are for getting help and offering help in times of need.
Will take your advice some other time. Now need help on how to select the address city, st and zip along with the order_id.
>
Ah - I understand - you mean before your class is over.
Unfortunately with a crashed Oracle db you will not know if our advice is correct or not since you won't be able to test it.
So I will offer advice some other time. Now need to get some fresh air and a hot cup of coffee.
Let us know when you DB is back up and you have run your tests. Then if you still have any questions other forum members may decide to help you. Well - if their database is up and running that is.
Similar Messages
-
Join Table with Collection Array Type
Hi All,
I'm trying to join 2 types of tables (real table and array collection type)
When I wrote this code:
Declare
-- Types
Type cArr Is Record (col1 Number);
Type tArr Is Table Of cArr Index By Binary_Integer;
-- Objects
ocArr cArr;
otArr tArr;
Begin
-- Set Array Table
ocArr.col1 := 1;
otArr(1) := ocArr;
ocArr.col1 := 3;
otArr(2) := ocArr;
-- Fetch Records
For Rec in (Select col1 From Table(otArr) Arr)
Loop
Dbms_Output.Put_Line(Rec.col1);
End Loop;
End;
I Get This Error:
ORA-06550: line 10, column 64:
PLS-00382: expression is of wrong type
ORA-06550: line 10, column 58:
PL/SQL: ORA-22905: cannot access rows from a non-nested table item
ORA-06550: line 10, column 21:
PL/SQL: SQL Statement ignored
I know that I can Use this as sn answer:
For Rec In 1..2
Loop
Dbms_Output.Put_Line(otArr(Rec).Col1);
End Loop;
But I need later on to use this collection join with another real table based on values compare like:
For Rec in (Select a.Col2 From a,(Select col1 From Table(otArr)) Arr Where a.Col1 = Arr.Col1)
Loop
Dbms_Output.Put_Line(Rec.col1);
End Loop;
Can someone tell me where I'm wrong and how to fix it?
Thanks,Welcome to the forum.
Don't use a PL/SQL type, but an SQL type.
http://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:2270447621346#tom3041776036531
Do a search on ORA-22905 on this forum for more examples. -
TYPE OR TABLE DEPENDENCY OF OBJECT TYPE (ORA-2303)
제품 : SQL*PLUS
작성날짜 : 2004-05-20
==================================================
TYPE OR TABLE DEPENDENCY OF OBJECT TYPE (ORA-2303)
==================================================
PURPOSE
Type이나 table의 dependency가 있는 type을 drop하거나 replace하고자
하면 ORA-02303 error가 난다. 이 error의 원인을 알아보도록 한다.
Explanation
Object의 attribute나 method를 수정하기 위해서는 object type을 drop하고 재생성
해야 한다. Type이나 table의 dependency가 있는 type을 drop하거나 replace하고자
하면 ORA-02303 error가 난다. Object type은 type (nested table 또는 VARRAY)
또는 object table로써 구체적으로 표현된다. 만약 data의 보존이 필요하다면
temporary table에 manual하게 옮겨놓아야 한다.
SQL Reference guide에 의하면 DROP TYPE FORCE 옵션은 recommend하지 않는다.
왜냐하면 이 옵션을 쓰게 되면 복구가 불가능하고 dependency가 있던 table들은
access하지 못하는 결과를 초래한다.
Example
아래의 query 1, 2, 3은 dependency을 확인하는 query문이다.
1. Find nested tables
select owner, parent_table_name, parent_table_column
from dba_nested_tables
where (table_type_owner, table_type_name) in
(select owner, type_name
from dba_coll_types
where elem_type_owner = '<typeOwner>'
and elem_type_name = '<typeName>');
2. Find VARRAYs
select owner, parent_table_name, parent_table_column
from dba_varrays
where (type_owner, type_name) in
(select owner, type_name
from dba_coll_types
where elem_type_owner = '<typeOwner>'
and elem_type_name = '<typeName');
3. Find object tables
select owner, table_name
from dba_object_tables
where table_type_owner = '<typeOwner>'
and table_type = '<typeName>'
and nested = 'NO';
Example ) Logon as Scott
/* Create an user defined object type */
SQL> create type object_type as object (
col1 number,
col2 varchar2(20))
Type created.
/* Create nested table type */
SQL> create type object_ntable as table of object_type
Type created.
/* Create varray type*/
SQL> create type object_varray as varray(5) of object_type
Type created.
/* Create parent table with nested table and varray */
SQL> create table master (
col1 number primary key,
col2_list object_ntable,
col3_list object_varray)
nested table col2_list store as master_col2
Table created.
/* Create object table */
SQL> create table object_table of object_type (col1 primary key)
object id primary key;
Table created.
ORA-2303 results if attempt to drop type with dependencies
SQL> drop type object_type;
drop type object_type
ERROR at line 1:
ORA-02303: cannot drop or replace a type with type or table dependents
위의 queery 1,2,3을 이용하여 object type dependency을 확인한다.
-- Find nested tables utilizing object type
SQL> select owner, parent_table_name, parent_table_column
from dba_nested_tables
where (table_type_owner, table_type_name) in
(select owner, type_name
from dba_coll_types
where elem_type_owner = 'SCOTT'
and elem_type_name = 'OBJECT_TYPE');
OWNER PARENT_TABLE_NAME PARENT_TABLE_COLUMN
SCOTT MASTER COL2_LIST
-- Find VARRAYs utilizing object type
SQL> select owner, parent_table_name, parent_table_column
from dba_varrays
where (type_owner, type_name) in
(select owner, type_name
from dba_coll_types
where elem_type_owner = 'SCOTT'
and elem_type_name = 'OBJECT_TYPE');
OWNER PARENT_TABLE_NAME PARENT_TABLE_COLUMN
SCOTT MASTER COL3_LIST
-- Find object tables
SQL> select owner, table_name
from dba_object_tables
where table_type_owner = 'SCOTT'
and table_type = 'OBJECT_TYPE'
and nested = 'NO';
OWNER TABLE_NAME
SCOTT OBJECT_TABLE
참고)
bulletin : 11576 처럼 utility을 이용하는 방법이 있다.
우리는 여기서 주의하여야 할 것은 script $ORACLE_HOME/rdbms/admin/utldtree.sql
을 내가 보고자 하는 user에서 돌려야 한다는 것이다.
$sqlplus scott/tiger
SQL> @$ORACLE_HOME/rdbms/admin/utldtree.sql
SQL> exec deptree_fill('TYPE','SCOTT','OBJECT_TYPE');
PL/SQL procedure successfully completed.
SQL> select * from ideptree;
DEPENDENCIES
TYPE SCOTT.OBJECT_TYPE
TYPE SCOTT.OBJECT_NTABLE
TABLE SCOTT.MASTER
TYPE SCOTT.OBJECT_VARRAY
TABLE SCOTT.MASTER
TABLE SCOTT.MASTER_COL2
TABLE SCOTT.OBJECT_TABLE
Reference Documents
Korean bulletin : 11576
<Note:69661.1>Hi Carsten,
Thanks for the sharp hint. It works.
However, when I create a table using the schema, it gives me this error:
varray DOC."LISTOFASSIGNEDNUMBER"."ASSIGNEDNUMBER"
ERROR at line 14:
ORA-02337: not an object type column
Here is the script:
CREATE TABLE CUSTOMMANIFEST (
ID NUMBER PRIMARY KEY,
DOC sys.XMLTYPE
xmltype column doc
XMLSCHEMA "http://www.abc.com/cm.xsd"
element "CustomManifest"
varray DOC."LISTOFMANIFESTPORTINFO"."MANIFESTPORTINFO"
store as table MANIFESTPORTINFO_TABLE
(primary key (NESTED_TABLE_ID, ARRAY_INDEX))
organization index overflow
varray DOC."LISTOFASSIGNEDNUMBER"."ASSIGNEDNUMBER"
store as table ASSIGNEDNUMBER_TABLE
(primary key (NESTED_TABLE_ID, ARRAY_INDEX))
organization index overflow
LISTOFASSIGNEDNUMBER itself is complexType and not sure where is the error....
You may note there are more than two hierachy/levels...
Thanks. -
ORA-19007 when coping a table with an xml type in it to a new schema in the
ORA-19007 when coping a table with an xml type in it to a new schema in the same database.
Hi all,
When I copy a table with an xml type in it to a new schema in the same database I get an ora-19009.
The setup is as follows I have a schema a with table TABLE_WITH_XMLTYPE where data is:
CREATE
TABLE TABLE_WITH_XMLTYPE
FOLDER_ID NUMBER (10, 0) NOT NULL,
SEARCH_PROPERTIES XMLTYPE ,
CONSTRAINT TABLE_WITH_XMLTYPE PK PRIMARY KEY (FOLDERID) USING INDEX
XMLTYPE COLUMN SEARCH_PROPERTIES XMLSCHEMA
"http://xxxxxxx.net/FolderProperties.xsd" element "FolderProperties"
VARRAY SEARCH_PROPERTIES."XMLDATA"."PROPERTIES"."PROPERTY" STORE AS TABLE
PROPERTY_TABLE
(PRIMARY KEY (NESTED_TABLE_ID, ARRAY_INDEX)) ORGANIZATION INDEX OVERFLOW
Both schemas have the following xml schema registered as a local xml schema
BEGIN
DBMS_XMLSCHEMA.registerSchema(
SCHEMAURL => 'http://xxxxxxx.net/FolderProperties.xsd',
SCHEMADOC =>
'<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xdb="http://xmlns.oracle.com/xdb"
xdb:storeVarrayAsTable="true">
<xs:element name="FolderProperties"
type="FolderPropertiesType"
xdb:defaultTable="FOLDER_SEARCH_PROPERTIES" />
<xs:complexType name="FolderPropertiesType" xdb:SQLType="FOLDERPROPERTIES_T">
<xs:sequence>
<xs:element name="FolderID" type="FolderIDType" minOccurs="1" xdb:SQLName="FOLDER_ID"/>
<xs:element name="Properties" type="PropertiesType" xdb:SQLName="PROPERTIES"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="PropertiesType" xdb:SQLType="PROPERTIES_T">
<xs:sequence>
<xs:element name="Property" type="PropertyType" maxOccurs="unbounded"
xdb:SQLName="PROPERTY" xdb:SQLCollType="PROPERTY_V"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="PropertyType" xdb:SQLType="PROPERTY_T">
<xs:sequence>
<xs:element name="DateValue" type="DateType" xdb:SQLName="DATE_VALUE"/>
<xs:element name="NumValue" type="NumType" xdb:SQLName="NUM_VALUE"/>
<xs:element name="StringValue" type="StringType" xdb:SQLName="STRING_VALUE"/>
</xs:sequence>
<xs:attribute name="Name" xdb:SQLName="NAME" xdb:SQLType="VARCHAR2">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="255"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<xs:simpleType name="FolderIDType">
<xs:restriction base="xs:integer"/>
</xs:simpleType>
<xs:simpleType name="DateType">
<xs:restriction base="xs:dateTime"/>
</xs:simpleType>
<xs:simpleType name="NumType">
<xs:restriction base="xs:decimal"/>
</xs:simpleType>
<xs:simpleType name="StringType">
<xs:restriction base="xs:string" />
</xs:simpleType>
</xs:schema>',
LOCAL => TRUE,
GENTYPES => TRUE,
GENTABLES => FALSE);
END;
when I try to do the following insert:
insert into schemaB.TABLE_WITH_XMLTYPE ( FOLDER_ID, SEARCH_PROPERTIES)
select FOLDER_ID, SEARCH_PROPERTIES from schemaB.TABLE_WITH_XMLTYPE;
I’ll get an ora-19007.
Can some one point me in the right direction how to solve this error.
Thanks Roelof.Who did you create the second table, in other words, how did you COPY the table as you said...
If you created the second table via a CTAS (create table as select) then you will have created a table that is not the same as the original one. AFAIK I have once created an enhancement request for this after discovering that JDeveloper, for example, creates a "copy" via a CTAS which creates the wrong structure. Double check via package DBMS_METADATA.
SQL> set long 1000000
SQL> select DBMS_METADATA('TABLE','TABLE_WITH_XMLTYPE','SchemaA') from dual;
SQL> select DBMS_METADATA('TABLE','TABLE_WITH_XMLTYPE','SchemaB') from dual;If you have got two different tables, than Mark's solution should help.
M.
Edited by: Marco Gralike on Feb 15, 2009 11:16 AM -
Require help on Array of Nested tables and Oracle Object type
Hi All,
I have a scenario where I have some millions of records received from a flat file and the record is stored in Table as below:
Tablename: FILE_RECORD
Rows:
FILE_REG_ID = 1
RECORD_NBR = 1
PROCESSED_IND = U
RECORD= 00120130326006A
FILE_REG_ID = 1
RECORD_NBR = 2
PROCESSED_IND = U
RECORD= 00120130326003
1) I have to read these records at once and
a) Split the RECORD column to get various other data Eg: Fld1=001, Fld2=20130326, Fld3 = 003
b) send as an Array to Java.
2) Java will format this into XML and sent to other application.
3) The other application returns a response as Successful or Failure to Java in XML
4) Java will send RECORD_NBR and the corresponding response as Success or Failure back to PLSQL
5) PLSQL should match the RECORD_NBR and update the PROCESSED_IND = P.
I 'm able to achieve this using SQL Table type by creating a TYPE for Each of the fields (Flds) however the problem is Java cannot Access the parameters as the TYPE are of COLUMN Types
Eg: For RECORD_NBR
SUBTYPE t_record_nbr IS FILE_RECORD.T010_RECORD_NBR%TYPE;
Can you please let me know how I can achieve this to support Java, I know one way that is by creating an OBJECT TYPE and a TABLE of the OBJECT TYPE.
Eg: T_FILE_RECORD_REC IS OBJECT
FILE_REG_ID number(8), RECORD_NBR number (10), PROCESSED_IND varchar2(1), RECORD varchar(20)
Create type T_FILE_RECORD_TAB IS TABLE OF T_FILE_RECORD_REC
However I'm facing a problem to populate an Array of records, I know I'm missing something important. Hence please help.
It would be helpful to provide some guidelines and suggestions or Pseudo or a Code to achieve this. Rest all I can take up further.
Thanks in advance,I know once way that is creating a OBJECT TYPE and a TABLE of OBJECT TYPE, howeve I feel I'm missing something to achieve this.You're right, you need SQL object types created at the database level. Java doesn't know about locally defined PL/SQL types
However you can do without all this by creating the XML directly in PL/SQL (steps 1+2) and passing the document to Java as XMLType or CLOB.
Are you processing the records one at a time? -
Reporting of recursive tables with Business Objects 6.1
Post Author: pk7
CA Forum: Publishing
Can anyone tell us how to traverse recursive tables with Business Objects 6.1? For example, let's say you have an Employee table with Emp_ID, Name, Manager_ID. Like so:
Emp_ID Name Manager_ID
1 Jeff 4
2 Grace 3
3 Stacey 1
4 Wayne null
The task is to report the hierarchy of employees starting with one employee (e.g. Grace) and showing who ALL of her superiors are. Desired result would be:
Grace
Stacey
Jeff
Wayne
We have seen the expanation the seems to require the duplication of a table but we prefer not to have the same data stored in multiple tables.
Thx!Hi Dan,
Thanks for your response. However, what I meant by client installation is exactly as what you have said below.
I start the BusinessObjects Enterprise XI 3.1 Setup, go to custom install, which shows up the following options-
Client Components
Web Tier Components
Server Components
Database Access
etc. etc.
Initially I unselected all, drilled down Client Components and just installed the Developer Components. But the code used to fail with an InvalidCast exception when we used to cast an InfoObject to a Report as following-
Report report = (Report)infoObjects[1];
This code used to work fine with earlier installations of business objects.
This happened with all 3 of us who installed just the Dev components. To get over this we installed the whole Client Components and the above problem got resolved.
And now we realize that even the whole Client Comp is not enough because it gives the casting problem while doing the destination stuff. -
Join table with additional data
Hi,
I'm new to JPA (Toplink Essentials) and I'd like to know how to handle this situation:
I have ORDER table, ITEMS table and "join table" ORDER_ITEMS which holds refernces to ordered items with quantity of each oredered item.
Many thanksI did mapping as shown in listing. It works for reading, but for writing JPA returns error. Can somebody help?
Thanks
[Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]Column name 'idexpedice' appears more than once in the result column list.
Error Code: 264
Call: INSERT INTO vklad_expedice (IDEXPEDICE, IDVKLAD, VAHA, idexpedice, idvklad) VALUES (?, ?, ?, ?, ?)
bind => [null, null, 0, 4411, 2]
@Entity
public class Expedice implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer idexpedice;
@Temporal(TemporalType.DATE)
private Date datum;
@OneToMany(fetch = FetchType.EAGER, mappedBy="expedice", cascade = CascadeType.ALL)
private List<ExpediceVklad> vklady;
@Entity
public class Vklad implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer idvklad;
private String nazev;
@Entity
@Table(name = "vklad_expedice")
@IdClass(ExpediceVkladId.class)
public class ExpediceVklad implements Serializable {
@Id
private Integer idexpedice;
@Id
private Integer idvklad;
private Integer vaha;
@ManyToOne
@JoinColumn(name = "idexpedice")
private Expedice expedice;
@ManyToOne
@JoinColumn(name = "idvklad")
private Vklad vklad;
public class ExpediceVkladId {
@Id
private Integer idexpedice;
@Id
private Integer idvklad;
SQL tables
EXPEDICE
idexpedice
datum
VKLAD
idvklad
nazev
VKLAD_EXPEDICE (this is the join table with additional column)
idexpedice
idvklad
vaha
Edited by: user10933983 on 31.3.2009 13:47 -
Batch Design Capture of tables that include Object Types
When I attempt to use the Batch Design Capture facility to capture a table that includes an Object Type the facility dies without completing.
I am using Designer 9i / Oracle Design Editor v9.0.2.80.4.
The Batch Design Capture facility reports the following and then exits:
Repository connected successfully
Server Generator 9.0.2.80.4, Wed Jun 09 17:24:33 2004
Copyright (c) Oracle Corporation 1995, 2002. All rights reserved.
CDS-15334 Warning: The Oracle Object Type MESSAGEHEADER_TYPE already exists in the Repository. NOMERGE_AND_SAC Rule selected
=> the captured property values will not replace the existing property values in the repository but the Rules for the Secondary Elements (SACs) will apply for their own update
CDS-11305 Warning: Column 'E2B.MESSAGEHEADER' property DEFAULT VALUE exceeds maximum length (60) - Truncated
The table that I am trying to capture looks like this:
E2B
E2B_ID NOT NULL NUMBER
MESSAGEHEADER MESSAGEHEADER_TYPE
DATE_TRANSMITTED DATE
DATE_RECEIVED DATE
DATE_ACKNOWLEDGED DATE
... other columns ...
MESSAGE CLOB
and MESSAGEHEADER_TYPE looks like this:
MESSAGEHEADER_TYPE
MESSAGETYPE VARCHAR2(16)
MESSAGEFORMATVERSION VARCHAR2(3)
MESSAGEFORMATRELEASE VARCHAR2(3)
MESSAGENUMB VARCHAR2(100)
MESSAGESENDERIDENTIFIER VARCHAR2(60)
MESSAGERECEIVERIDENTIFIER VARCHAR2(60)
MESSAGEDATEFORMAT NUMBER(3)
MESSAGEDATE NUMBER(14)
Is is possible to use Designer to capture tables that include object types?hi,
while running the package, use the activity "Maintain Table Reduction" in phase System Analysis to include / exclude / reduce the table from transfer.
Srila. -
Working with oracle object type tables
Hi,
I've created a table which only contains Oracle object types (e.g. CREATE TABLE x OF <...>). When I create an Entity for this table using the Entity wizard, I end up with an entity with the attributes of the base object type and two special attributes REF$ (reference to the object type instance) and SYS_NC_OID$ (unique object identifier). The REF$ attribute is on the Java side of type oracle.jbo.domain.Ref and the other attribute is on the Java side a simple String.
It seems this only allows me to save objects of the base type in this table. First of all in my situation this is also impossible because the base type is not instantiable. What I do want is to save several different subtypes into this table using the BC4J custom domain mechanism. Is there any way to make this possible? I first thought I could maybe do something with the special REF$ attribute, but this doesn't seem te case. So I might need to override most of the EntityImpl methods, like doUML, remove etc. Am I right? And does anyone have any hints on how to do this?
Regards,
PeterPeter:
Hi,
I've created a table which only contains Oracle
object types (e.g. CREATE TABLE x OF <...>).
When I create an Entity for this table using the
Entity wizard, I end up with an entity with the
attributes of the base object type and two special
attributes REF$ (reference to the object type
instance) and SYS_NC_OID$ (unique object identifier).
The REF$ attribute is on the Java side of type
oracle.jbo.domain.Ref and the other attribute is on
the Java side a simple String.
It seems this only allows me to save objects of the
base type in this table. First of all in my situation
this is also impossible because the base type is not
instantiable. What I do want is to save several
different subtypes into this table using the BC4J
custom domain mechanism. Is there any way to make
this possible? Sorry, but this is not supported out of the box.
Since you have an object table, you wouldn't use domains to achieve this. Instead, you would have a superclass and subclass entity objects, e.g., PersonEO subclassed into StudentEO and EmployeeEO.
I first thought I could maybe do
something with the special REF$ attribute, but this
doesn't seem te case. So I might need to override
most of the EntityImpl methods, like doUML, remove
etc. Am I right? And does anyone have any hints on
how to do this?
If you want, you can try this by overridding EntityImpl's:
protected StringBuffer buildDMLStatement(int operation,
AttributeDefImpl[] allAttrs,
AttributeDefImpl[] retCols,
AttributeDefImpl[] retKeys,
boolean batchMode)
and
protected int bindDMLStatement(int operation,
PreparedStatement stmt,
AttributeDefImpl[] allAttrs,
AttributeDefImpl[] retCols,
AttributeDefImpl[] retKeys,
HashMap retrList,
boolean batchMode) throws SQLException
Handle the case when operation == DML_INSERT.
There, build an insert statement with substitutable row, e.g.:
INSERT INTO persons VALUES (person_t('Bob', 1234));
INSERT INTO persons VALUES (employee_t('Joe', 32456, 12, 100000));
where person_t and employee_t are database types and you are invoking the respective constructor.
Thanks.
Sung -
View of values in nested table attribute of object type
Hi,
I have:create or replace type ctx_line is object (
ctx_name varchar2(40),
ctx_value varchar2(1000)
create or replace type ctx_tab is table of ctx_line;
create type tp as object (
id number,
ctx ctx_tab
create table tt of tp nested table ctx store as ctx_nesttab;
create or replace view v as
SELECT VALUE(o).id as id
FROM tt o;Now I want to create an another view containing fields ctx_name, ctx_value and a key (maybe NESTED_TABLE_ID?) to the parent record in tt table. I must be able to join that view to each other. This is necessary because I will use that views in Forms 4.5 (which do not support nested tables).
Can someone help me, please?I'm not sure what you are looking for exactly but is it something like this?
SELECT id
, p.ctx_name
, p.ctx_value
FROM tt
, TABLE(ctx) pWith the following test data:
INSERT INTO tt VALUES(1,CTX_TAB(CTX_LINE('A','SOME VALUE1')));
INSERT INTO tt VALUES(1,CTX_TAB(CTX_LINE('B','SOME VALUE2')));
INSERT INTO tt VALUES(1,CTX_TAB(CTX_LINE('B','SOME VALUE2')));this is the result:
SQL> SELECT id
2 , p.ctx_name
3 , p.ctx_value
4 FROM tt
5 , TABLE(ctx) p
6 /
ID CTX_NAME CTX_VALUE
1 A SOME VALUE1
1 B SOME VALUE2
1 B SOME VALUE2 -
Error ORA-01426: numeric overflow when Creating table with double data type
Hi,
I am using ODP.NET to create a table with data from SQL to Oracle. The problem is with double data type fields that is equivalent to FLOAT(49) in Oracle. My syntax is:
CREATE TABLE SCOTT.ALLTYPES
F1 NUMBER(10),
F10 DATE,
F2 NUMBER(10),
F3 NUMBER(5),
F4 NUMBER(3),
F5 FLOAT(23),
F6 FLOAT(49),
F7 NUMBER (38,5),
F8 NVARCHAR2(500),
F9 NVARCHAR2(500)
Th error is with field F6 but I am not sure what is the correct type equivalent to double in SQL.
I woul appreciate if anyone can help me with this problem.
SunnyDoes this simple test work for you?
In database:
create table float_test
f1 float(49)
);C# code:
using System;
using System.Data;
using System.Text;
using Oracle.DataAccess.Client;
using Oracle.DataAccess.Types;
namespace FloatTest
/// <summary>
/// Summary description for Class1.
/// </summary>
class Class1
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
// connect to local db using o/s authenticated account
OracleConnection con = new OracleConnection("User Id=/");
con.Open();
// will hold the value to insert
StringBuilder sbValue = new StringBuilder();
// create a string of 49 number 9's
for (int i = 0; i < 49; i++)
sbValue.Append("9");
// command object to perform the insert
OracleCommand cmd = con.CreateCommand();
cmd.CommandText = "insert into float_test values (:1)";
// bind variable for the value to be inserted
OracleParameter p_value = new OracleParameter();
p_value.OracleDbType = OracleDbType.Double;
p_value.Value = Convert.ToDouble(sbValue.ToString());
// add parameter to collection
cmd.Parameters.Add(p_value);
// execute the insert operation
cmd.ExecuteNonQuery();
// clean up
p_value.Dispose();
cmd.Dispose();
con.Dispose();
}SQL*Plus after executing above code:
SQL> select * from float_test;
F1
1.0000E+49
1 row selected.- Mark -
How to pass conventional table values in object types Dynamically
Hi All,
Need urgent help...
TYPE add_ty is object
(add1 varchar2(50),
add2 varchar2(50),
add2 varchar2(50))
type add_ty_obj is table of add_ty;
create table company_dtl
(cmpid number(10),
cmpname varchar2(100),
address add_ty_obj);
table company_dtl contains demo data as below:-
cmpid cmpname address
C101 abc UK,
USA,
AUS
c102 xyz UK,
CN,
GER
If I want to read data from table and pass data to object add_ty_obj,
So How can I do it dynamically. I am willing to create procedure
which can read data from above table and pass that to mentioned object in
OUT parameter.
Out parameter contains same object type somewhere in middleware.
Please help or advice.
Thanks in Advance..Hi
i have tried to make procedure that take company id as input and give their address as output.I think it might be useful for you. Or if you want something different
please write us with more detail.
CREATE OR REPLACE PROCEDURE READ_DATA_PROC( VAR_CMPID IN NUMBER , VAR_TYP OUT ADD_TY_OBJ)
AS
BEGIN
SELECT ADDRESS INTO VAR_TYP FROM COMPANY_DTL WHERE CMPID = V_CMPID ;
END READ_DATA_PROC;
here i'm also adding your table and type definition i've used
CREATE TYPE ADD_TY IS OBJECT
(ADD1 VARCHAR2(50),
ADD2 VARCHAR2(50),
ADD3 VARCHAR2(50));
CREATE TYPE ADD_TY_OBJ AS TABLE OF ADD_TY;
CREATE TABLE COMPANY_DTL
(CMPID NUMBER(10),
CMPNAME VARCHAR2(100),
ADDRESS ADD_TY_OBJ)
NESTED TABLE ADDRESS STORE AS ADDRESS_TAB;thanks,
Neeraj
Edited by: Neeraj.Ora on Feb 26, 2011 1:03 PM -
Database Adapter: cannot access table with complex record type as columns
Hi all,
I cannot perform any operations on a table that has columns with complex record type.
I have created a table to store purchase order details.
Sample script:
CREATE type XX_CUST_INFO_TYP as object
ssn VARCHAR2(20),
rating NUMBER(15)
CREATE type XX_ITEM_TYP as object
item_name VARCHAR2(20),
unit_price NUMBER(15),
quantity NUMBER(15)
CREATE table XX_PORDER (cust XX_CUST_INFO_TYP, porder XX_ITEM_TYP);
When i try to access the table X_PORDER in jdev through a database Adapter, i receive the error as
"some tables contains columns that are not recognized by the database adpter"
1.) so in this case, how to include such tables that have complex types?
Also, check out this scenario also..
1. add a table through a database adapter
2. drop the table in backend
3. i can still see the table and its structure in the database adapter wizard even after restarting Jdeveloper.. How is it possible?
These are some really interesting scenarios to experiment. Please suggest your ideas on this..
Thanks All!Hi Hem,
for a select you could select against a view. And for inserts you could create a stored procedure. They support complex types since 10.1.2. Complex types support in tables/views was added for 11 (next major release).
You might be able to use PureSQL as a workaround too, i.e.
insert into XX_PORDER values (XX_CUST_INFO_TYP(?,?), XX_ITEM_TYP(?, ?, ?))
As for your other problem, in 10.1.2/10.1.3 the DBAdapter wizard sits on top of the Jdev Offline Tables and TopLink Mapping Workbench components. When you remove a table in the wizard it won't delete the Offline DB component. It was added by the wizard, but afterwards it is public to the entire Jdev project. You must remove it from Jdev yourself. This has been improved for the next major release too, no artifacts from underlying components are created.
To remove it select:
Offline DB Objects -> <schema> -> <table> and try File.. Erase From Disk.
Thanks
Steve -
Error in creating a simple table with JSON object in SAPUI5
The error is : SCRIPT1006: Expected ')'
<!DOCTYPE HTML>
<HTML>
<HEAD>
<TITLE>Your Title Here</TITLE>
<META http-equiv="X-UA-Compatible" content="IE=edge">
<META http-equiv='cache-control' content='no-cache'>
<META http-equiv='expires' content='0'>
<META http-equiv='pragma' content='no-cache'>
<script src="resources/sap-ui-core.js"
id="sap-ui-bootstrap"
data-sap-ui-libs="sap.ui.commons,sap.ui.table "
data-sap-ui-theme="sap_goldreflection">
//themes : sap_platinum, sap_goldreflection
</script>
<script>
// create some local data using JSON
var aData = [
{Applications: "WVL BOD 9212", PercentComplete: "75", Date_Due: "6/16/2014", Testing_Due: "6/23/2014" },
{Applications: "WVL BOD 9211", PercentComplete: "75", Date_Due: "6/16/2014", Testing_Due: "6/24/2014" },
{Applications: "WVL BOD 3303", PercentComplete: "75", Date_Due: "6/16/2016", Testing_Due: "6/25/2014" },
{Applications: "ETW BOD 3304", PercentComplete: "75", Date_Due: "6/16/2014", Testing_Due: "6/26/2014" },
{Applications: "CLE BOD 1902", PercentComplete: "75", Date_Due: "6/16/2014", Testing_Due: "6/27/2014" },
{Applications: "ISO HAZ", PercentComplete: "80", Date_Due: "6/1/2014", Testing_Due: "6/8/2014" },
{Applications: "ISO CWO", PercentComplete: "80", Date_Due: "6/01/2014", Testing_Due: "6/8/2014" },
{Applications: "WVL 3 Stream ", PercentComplete: "60", Date_Due: "6/29/2014", Testing_Due: "" },
{Applications: "ISO Integration", PercentComplete: "10", Date_Due: "6/1/2014", Testing_Due: "6/8/2014" },
{Applications: "WVL 7 QM Charts", PercentComplete: "15", Date_Due: "6/15/2014", Testing_Due: "" },
{Applications: "SCB PCO", PercentComplete: "100", Date_Due: "?", Testing_Due: "" },
{Applications: "SCB Top Chart ", PercentComplete: "10", Date_Due: "5/20/2014", Testing_Due: "" },
{Applications: "Project Status", PercentComplete: "25", Date_Due: "7/25/2014", Testing_Due: "" },
{Applications: "WVL LOI", PercentComplete: "100", Date_Due: "4/20/2014", Testing_Due: ""},
{Applications: "DSS (HTML5)", PercentComplete: "100", Date_Due: "3/31/2013", Testing_Due: ""},
{Applications: "ETW 3304 BOD Pilot",PercentComplete: "100", Date_Due: "11/16/2013", Testing_Due: ""},
{Applications: "HTMl 5 Table Tools",PercentComplete: "100", Date_Due: "2/12/2014", Testing_Due: ""},
{Applications: "ISO JAX",PercentComplete: "100", Date_Due: "7/31/2013", Testing_Due: ""},
{Applications: "ISO FEN",PercentComplete: "100", Date_Due: "1/10/2014", Testing_Due: ""},
{Applications: "WVL QM Display",PercentComplete: "100", Date_Due: "2/12/2014", Testing_Due: ""},
// Define a table [Note: you must include the table library to make the Table class work]
var oTable = new sap.ui.table.Table({
title: "Projects Status", // Displayed as the heading of the table
visibleRowCount: 4, // How much rows you want to display in the table
selectionMode: sap.ui.table.SelectionMode.Single, //Use Singe or Multi
navigationMode: sap.ui.table.NavigationMode.Paginator, //Paginator or Scrollbar
fixedColumnCount: 4, // Freezes the number of columns
enableColumnReordering:true, // Allows you to drag and drop the column and reorder the position of the column
width:"1024px" // width of the table
// Use the Object defined for table to add new column into the table
oTable.addColumn(new
label: new sap.ui.commons.Label({text: "Applications"}), // Creates an Header with value defined for the text attribute <<<<<<<SCRIPT1006: Expected ')'
template: new sap.ui.commons.TextField().bindProperty("value", "Applications"), // binds the value into the text field defined using JSON
sortProperty: "Applications", // enables sorting on the column
filterProperty: "Applications", // enables set filter on the column
width: "125px" // width of the column
oTable.addColumn(new
label: new sap.ui.commons.Label({text: "PercentComplete"}),
template: new sap.ui.commons.TextField().bindProperty("value", "PercentComplete"),
sortProperty: "PercentComplete",
filterProperty: "PercentComplete",
width: "125px"
oTable.addColumn(new
label: new sap.ui.commons.Label({text: "Date_Due"}),
template: new sap.ui.commons.TextField().bindProperty("value", "Date_Due"),
sortProperty: "Date_Due",
filterProperty: "Date_Due",
width: "125px"
oTable.addColumn(new
label: new sap.ui.commons.Label({text: "Testing_Due"}),
template: new sap.ui.commons.TextField().bindProperty("value", "Testing_Due"),
sortProperty: "Testing_Due",
filterProperty: "Testing_Due",
width: "125px"
//Create a model and bind the table rows to this model
var oModel = new sap.ui.model.json.JSONModel(); // created a JSON model
oModel.setData({modelData: aData}); // Set the data to the model using the JSON object defined already
oTable.setModel(oModel);
oTable.bindRows("/modelData"); // binding all the rows into the model
//Initially sort the table
oTable.sort(oTable.getColumns()[0]);
// finally place the Table into the UI
oTable.placeAt("content1");
</script>
</HEAD>
<BODY>
<div id='content1'></div>
</BODY>
</HTML>Hi Amr
Here is an example on how to addColumn
Example
-D -
Moving a table with long data type column
hi
1.how to move a table with a long data type column in 8.1.7.3.0 ver database.
alter table APPLSYS.FND_LOBS_DOCUMENT move lob(BLOB_CONTENT) store as (tablespace testing)
ERROR at line 1:
ORA-00997: illegal use of LONG datatype
2. and a table with varray type column
alter table APPLSYS.WF_ERROR move lob("USER_DATA"."PARAMETER_LIST") store as (tablespace testing)
ERROR at line 1:
ORA-22917: use VARRAY to define the storage clause for this column or attribute
table description is:
SQL> desc applsys.wf_error;
Name Null? Type
Q_NAME VARCHAR2(30)
MSGID NOT NULL RAW(16)
CORRID VARCHAR2(128)
PRIORITY NUMBER
STATE NUMBER
DELAY DATE
EXPIRATION NUMBER
TIME_MANAGER_INFO DATE
LOCAL_ORDER_NO NUMBER
CHAIN_NO NUMBER
CSCN NUMBER
DSCN NUMBER
ENQ_TIME DATE
ENQ_UID NUMBER
ENQ_TID VARCHAR2(30)
DEQ_TIME DATE
DEQ_UID NUMBER
DEQ_TID VARCHAR2(30)
RETRY_COUNT NUMBER
EXCEPTION_QSCHEMA VARCHAR2(30)
EXCEPTION_QUEUE VARCHAR2(30)
STEP_NO NUMBER
RECIPIENT_KEY NUMBER
DEQUEUE_MSGID RAW(16)
SENDER_NAME VARCHAR2(30)
SENDER_ADDRESS VARCHAR2(1024)
SENDER_PROTOCOL NUMBER
USER_DATA APPS.WF_EVENT_T
lob column:
SQL> select owner,table_name,column_name from dba_lobs where table_name='WF_ERROR';
OWNER TABLE_NAME COLUMN_NAME
APPLSYS WF_ERROR "USER_DATA"."PARAMETER_LIST"
APPLSYS WF_ERROR "USER_DATA"."EVENT_DATA"
pls help me
thanks and regards
srinivas1. Export and import
2. Sql*Plus 'copy' command
It is a good idea to move from 'LONG' to 'CLOB'.
Maybe you are looking for
-
as I can download apps from app world and that can be used in the work area? I have a BES server if it's any reference. I have applications in personal area I can not see in the work area.
-
Material is not shown in MD04.
Hi Friends, We have created a Sales order for some materials. All the materials are subjected to MRP. In mateial master We maintian all Except MRP group. Also we maintain the Requirement type etc with respect to the Mateial Type in configuration.
-
Completely new to Soundtrack Pro - need help for school project
I've never used Soundtrack Pro before, but I need to record and modify some dialogue for a project for one of my classes, and I think that's the only audio program we have on the computers in the lab I'm using. Can I use Soundtrack Pro to record myse
-
M2T files cant be read with AA CS6 (Mac)
Hi, I gave osmeone some M2T files. Some were from a Z7 and some from a Datavideo DN 60 recorder (which was connected to a Z1). The person I gave them to said he could not read them in After Effects CS6 on Mac. Anyone got any ideas how I has resolv
-
Hi all, Can somemone tell me how to get the current portal request in the Repository Manager. Because I need to have the current portal User and for that I need the request object in the RM. Plz. guide. It's urgent. Thanx in advance.