I get an error on executing a callable statement (it takes forever and the system hangs) where as when i use executeUpdate the callable statement executes fine
Tuesday, July 28, 2015
Wednesday, April 29, 2015
Search the text in DB schema
desc dba_source
select * from dba_source where upper(text) like '%ENTER THE TEXT YOU WANT TO SEARCH HERE%'
Tuesday, March 31, 2015
DISTINCT only for some columns
https://community.oracle.com/thread/1120347
select *
from (select col1,
col2,
col3,
col4,
col5,
col6,
row_number () over (partition by col1, col2, col3, col4, col5 order by null) rn
from table1)
where rn = 1
Friday, April 25, 2014
Using Partition Over in Oracle
SELECT ID, OTHER_ID, DATE_VALUE, ROW_NUMBER() OVER (PARTITION BY OTHER_ID ORDER BY DATA_VALUE desc) R,COUNT(*) OVER (PARTITION BY OTHER_ID) FROM SOME_TABLE
**Row_Number gives the row number of the row in a table after partition by other_id**Count(*) gives the count value of the rows partitioned by other_idThursday, March 13, 2014
Using WITH, DECODE functions in sql
WITH Q1 AS
(SELECT unique_id,status from table group by unique_id having count(unique_id)=1)
SELECT * FROM Q1
WHERE unique_id IN
(SELECT unique_id FROM Q1 WHERE status = 'Approve'
AND EXISTS (SELECT 1 FROM Q1 subq1
WHERE Q1.emp_id = subq1.emp_id
AND TRUNC(Q1.status_date) < TRUNC(subq1.insert_date))
)
ORDER BY Q1.unique_id,decode(status,'Approve',1),status_date;
Thursday, February 27, 2014
How to insert data into a table on Oracle database
INSERT INTO TABLE_NAME (Column1, Column2, Column3)
Select TABLE1_SEQ.NEXTVAL, NewColumn2, NewColumn3
FROM TABLE1 WHERE Column4 IN (X,Y) AND SomeCondition;
Labels:
insert into table,
sql
Location:
New York, USA
Wednesday, February 26, 2014
How to create tables with sequences and triggers on Oracle database
In this example I work on 2 tables EXAMPLE_DETAILS and EXAMPLE_DETAILS_HISTORY
The scenario is, whenever a row in EXAMPLE_DETAILS gets updated or deleted, the old record should be sent to history table (EXAMPLE_DETAILS_HISTORY)
The scenario is, whenever a row in EXAMPLE_DETAILS gets updated or deleted, the old record should be sent to history table (EXAMPLE_DETAILS_HISTORY)
CREATE TABLE SCHEMA.EXAMPLE_DETAILS
(
DETAIL_ID INTEGER NOT NULL,
UNIQUE_ID INTEGER ,
TABLE_NAME VARCHAR2(30 BYTE),
EXAMPLE_DATE DATE,
EXAMPLE_REF INTEGER,
EXAMPLE_COMMENTS VARCHAR2(4000 BYTE),
CONSTRAINT DETAIL_ID_PK PRIMARY KEY (DETAIL_ID)
)
CREATE SEQUENCE SCHEMA.EXAMPLE_DETAILS_SEQ
START WITH 199
MAXVALUE 999999999999999999999999999
MINVALUE 0
NOCYCLE
NOCACHE
NOORDER;
CREATE OR REPLACE TRIGGER EXAMPLE_HISTORY_TRIGGER
BEFORE DELETE
ON EXAMPLE_DETAILS
FOR EACH ROW
BEGIN
INSERT INTO EXAMPLE_DETAILS_HISTORY (EXAMPLE_HISTORY_ID,
UNIQUE_ID,
TABLE_NAME,
HISTORY_DATE,
EXAMPLE_DATE,
EXAMPLE_ACTION_REF,
EXAMPLE_COMMENTS)
VALUES (EXAMPLE_HISTORY_SEQ.NEXTVAL,
:old.UNIQUE_ID,
:old.TABLE_NAME,
SYSDATE,
:EXAMPLE_DATE,
:EXAMPLE_REF,
:EXAMPLE_COMMENTS);
END;
/
CREATE OR REPLACE TRIGGER EXAMPLE_DETAILS_TRG BEFORE insert OR update ON EXAMPLE_DETAILS
FOR EACH ROW
BEGIN
:new.EXAMPLE_DATE := sysdate ;
END;
/
CREATE OR REPLACE TRIGGER EXAMPLE_DETAILS_UPDATETRG AFTER update ON EXAMPLE_DETAILS
FOR EACH ROW
BEGIN
IF :OLD.EXAMPLE_REF!=:NEW.EXAMPLE_REF OR :OLD.EXAMPLE_COMMENTS!=:NEW.EXAMPLE_COMMENTS
THEN
INSERT INTO EXAMPLE_DETAILS_HISTORY (EXAMPLE_HISTORY_ID,
UNIQUE_ID,
TABLE_NAME,
HISTORY_DATE,
EXAMPLE_DATE,
EXAMPLE_ACTION_REF,
EXAMPLE_COMMENTS)
VALUES ( EXAMPLE_HISTORY_SEQ.NEXTVAL,
:old.UNIQUE_ID,
:old.TABLE_NAME,
SYSDATE,
:old. EXAMPLE_DATE,
:old. EXAMPLE_ACTION_REF,
:old. EXAMPLE_COMMENTS);
END IF;
END;
/
********************************************************************************************
CREATE TABLE SCHEMA.EXAMPLE_DETAILS_HISTORY
(
EXAMPLE_HISTORY_ID INTEGER NOT NULL,
UNIQUE_ID INTEGER NOT NULL,
TABLE_NAME VARCHAR2(30 BYTE),
HISTORY_DATE DATE,
EXAMPLE_DATE DATE,
EXAMPLE_REF INTEGER,
EXAMPLE_COMMENTS VARCHAR2(4000 BYTE),
CONSTRAINT HISTORY_ID_PK PRIMARY KEY (EXAMPLE_HISTORY_ID)
)
CREATE SEQUENCE SCHEMA.EXAMPLE_DETAILS_HISTORY_SEQ
START WITH 199
MAXVALUE 999999999999999999999999999
MINVALUE 0
NOCYCLE
NOCACHE
NOORDER;
Labels:
create sequence,
create table,
triggers
Location:
Manhattan, New York, NY, USA
Subscribe to:
Posts (Atom)