i am a beginner in SQL and want to create a table with the following constraints :
'orderno' should be primary key and start with o
'clientno' should be foreign key
'ordr date' is not null
'salesmanno' foreign key
'delytype' default value 'f' and possible value ( f or p)
'delydate' cannot be less than order date
'orderstatus' values ('in process.......)
here's my
create table sales_order(orderno varchar2(6) like 'o%' primary key,
clientno varchar2(6) foreign key references client_master(clientno),deldate date not null,dellyaddr varchar2(25),salesmanno varchar2(6) foreign key references salesman_master(salesmanno), delytype char(1) default 'f',billyn char(1),delydate date check > orderdate,orderstatus varchar2(10)check ('in process','fullfilled','cancelled');
When we create a duplicate table, we use the below query:
create table table2 as select * from table1;
But table2 is created without any constraints inherited from table1.Can I know how can i create the table with all the constraints existing in parent table.
I want to create a store procedure to copy data from a source tables(which may not have any constraints defined) to a table which has primary key, foreign key and unique key constraints.
Any records which are rejected due to these constraints not being satisfied need to go another table.
Once the initial data load is done, these procedures need to be automated(through cron) to do the future incremental uploads in the same manner.
the trigger works very well but when i add some trigger between drop and create constraints then first step drop constraint sucessfully but 2nd trigger when create new constraints not working examples of trigger are as under:-
declare s_number varchar2(7); cursor masters is select voc_type,voc_date,voc_no from account.voc_masterorder by voc_type,voc_date,voc_no; abc masters%rowtype; cursor detail is select voc_no,ref_no from account.voc_detail group by voc_no,ref_no; [code]....
I want to truncate table partition but I'm getting error:
CODEORA-02266: unique/primary keys in table referenced by enabled foreign keys
because of table has a nested table. Currently this column is not in use so I could drop it, but I want to avoid it (table is huge). Is there another posibility to do truncate partitions in this table? ALTER TABLE ... SET UNUSED doesn't resolve the problem.
can a table level check constraints have conditional checking (if else clause or case conditional structures) and checks which are limited through something like a where clause which inside the table level check constraints.And can a table level check constraints refer to a column in another table column which should have a the same value.
I know that you can view all constraints in a table using $USER_CONSTRAINTS or $USER_INDEXES view. What i find difficult is that the information in those views is not really well presented.
I find it very hard to follow. For example, just to find out which columns are foreign keys and which tables they refer to is really tedious. Is there a simpler way to view all the constraints especially foreign keys of a table and including which table columns they refer to in the child table.
I like to see a diagramatic representaion of all the tables involved so i like to see both the parent and the child tables, which columns are related and using which FKs etc. is there an easier way to view this information?
Am creating a table based on some integrity constraints, but it's not working.
CREATE TABLE member ( member_id NUMBER(10), last_name VARCHAR2(25) NOT NULL, first_name VARCHAR2(25),
[code],,,
Error:
Error report: SQL Error: ORA-02270: no matching unique or primary key for this column-list 02270. 00000 - "no matching unique or primary key for this column-list" *Cause: A REFERENCES clause in a CREATE/ALTER TABLE statement gives a column-list for which there is no matching unique or primary key constraint in the referenced table. *Action: Find the correct column names using the ALL_CONS_COLUMNScatalog view
I have been looking at this now for a good 2 hours. It seems like a simple error but I just cant see it. I must of counted the brackets 20 times. I have run this code in SQL developer using actual values and it works fine.
If your wondering about the esig class it just runs the sql with a few other SQL statements. I have changed the code below to a SELECT * statement just so see if it was actually that statement that was the problem. The select worked so it must be this.
Original - oracle Code
$esig->setSQL("INSERT INTO document_ecopy (DOCUMENT_ECOPY_ID ,DOCUMENT_UUID
I have following query. I checked manytime but I am unable to find the reason of error Ora-00907
SELECT Working_Days(sdate,edate), Ddecode(Physical_files Between 1 And 500 And Working_Days(sdate,edate) Between 1 And 30,-1, decode(Physical_files Between 501 And 3000 And Working_Days(sdate,edate) Between 1 And 180,-1,0)) col2 FROM table1 INNER JOIN table2 ON table1_Sno=table2_Sno
In this query, working_days is function that return working days.
SELECT inst_id, SID, serial#, module,username, machine, action, logon_time,status,event FROM gv$session WHERE SID in ( SELECT sid,id1,request FROM GV$LOCK WHERE (id1, id2, type) IN (SELECT id1, id2, type FROM GV$LOCK WHERE request>0) ORDER BY id1, request )
And I received the following error message
ORA-00907: missing right parenthesis
But when I execute
SELECT inst_id, SID, serial#, module,username, machine, action, logon_time,status,event FROM gv$session
and
SELECT sid,id1,request FROM GV$LOCK WHERE (id1, id2, type) IN (SELECT id1, id2, type FROM GV$LOCK WHERE request>0) ORDER BY id1, request
separately. It works fine. Why is it erroring out when I include the query in WHERE clause. Rather than the work around, I would like to know the reason for the need of right paranthesis.
I am new to Pl/SQL, I have created the following statement but I am getting ORA-00907: missing right parenthesis 00907. 00000 - "missing right parenthesis"
I'm trying to create a Top / Bottom query from an example i already have but when i executed it, i got an error:
ORA-00907: missing right parenthesis
The coding i've got is:
SELECT customer_id, forename, surname, start_date_time, end_date_time, pos FROM ( SELECT customer_id, forename, surname, start_date_time, end_date_time, row_number() over ( partion by start_date_time order by customer_id asc) pos from customer, phone_call) where pos = 1;
The error is on the partition line but i've closed all the open brackets,
expdp test/test directory=dmpdir dumpfile=wip.dmp logfile=wip.log tables=wip_runcard query=wip_runcard:'"where org_id=51 and time<to_date ('2011-01-01 00:00:00','yyyy-mm-dd hh24:mi:ss') and ship_time is not null and wip_route=999 and used_status=5"'
but error:
ORA-31693: Table data object "TEST"."WIP_RUNCARD" failed to load/unload and is being skipped due to error: ORA-00907: missing right parenthesis
I am trying to execute dynamic SQL in Stored Function and I don't know how to do this.
Explanation:
In the function I am calling pr_createtab is procedure which will create a physical table and return the table name in the out variable v_tbl_nm.
I need to query on this dynamic table and return the result as return result. But i am not able to do it.
Here T_web_loylty_report_table is a type.
CREATE OR REPLACE function CDW_DSS.f_ReturnTable(i_mrkt_id in number, i_cmpgn_year in number) return T_web_loylty_report_table is v_tbl_nm varchar2(50); i_cntry_cd varchar2(20); v_sql_str varchar2(32567); [code]......