Академический Документы
Профессиональный Документы
Культура Документы
SQL FUNCTIONS
ARE BUILT IN FUNCTIONS, THEY CAN BE CALLED FROM A USER DEFINED TBL OR SYSTEM DEFINED VIEW(DUAL)
SYSDATE()
---------------
built in function can be called form any table and system defined table
SELECT SYSDATE FROM DUAL;
02-SEP-08 (DEFSULT DATE FORMAT-->DD-MM-YY)
there must be atleast a record to call this sydate function
TYPES:
----------------
NUMBER
CHARECTER
DATE
CONVERSION
MISC
NUMBER:
--------------------
ABS()
SQRT()
MOD()
ROUND()
FLOOR()
CIEL()
--
--
--
CHARECTER FUNCTIONS
------------------------------------
LENGTH()
CONCAT()
SUBSTRING()
INSTR()
LPAD()
Generated by Foxit Edited
PDF Creator © Foxit
by Foxit Software
Reader
http://www.foxitsoftware.com For by
Copyright(C) evaluation only.
Foxit Software Company,2005-2007
For Evaluation Only.
RPAD()
--
--
--
SUBSTR()
------------------
SELECT ENAME,SUBSTR(ENAME,1,3) " START_1_3" FROM EMP;
INSTR()
------------------
SELECT ENAME,INSTR(ENAME,'A') " POS A" FROM EMP;
LPAD()
------------
pad something to the left side
SELECT LPAD(EMPNO,10,'ORACLE') AS EMPID FROM EMP;
similarly RPAD()
CONVERSION():
-------------------------------
TO_CAHR()
TO_DATE()
--
--
INPUT OUTPUT
-------------- ---------------------
DD 02
DDTH 02ND
YY 08
YYYY 2008
DAY TUESDAY
DY TUE
Dy Tue
Generated by Foxit Edited
PDF Creator © Foxit
by Foxit Software
Reader
http://www.foxitsoftware.com For by
Copyright(C) evaluation only.
Foxit Software Company,2005-2007
For Evaluation Only.
day tuesday
MON SEP
MONTH SEPTEMBER
YEAR TWO THOUSAND EIGHT
HH:MI:SS 10:50:07
HH24:MI:SS
HH:MM:SS MM WILL PICK UP MONTH
DATE FUNCTIONS:
---------------------------------
ADD_MONTHS()
MONTHS_BETWEEN()
NEXT_DAY() :SYSDATE,'FRI'
LAST_DAY():SYSDATE
MISC:
--------------
NVL() NOVALUE
NVL2() NEW ONE WITH OUT LIMITATIONS OF
DECODE()
--
--
--
SEL SAL,COMM,SAL+COMM AS GROSS_SAL FROM EMP;when there is one null value sum is null so
NVL() : NVL(COLNAME,VAL)
NVL(COMM,0)
SELECT SAL,COMM,SAL+NVL(COMM,0) AS GROSS_SAL FROM EMP;
if the value is null then take the value instead and
NVL2()
--------
VALUE NEED NOT BE GIVEN
SELECT SAL,COMM,NVL2(COMM,SAL+COMM,SAL) AS GROSS FROM EMP;
if commision is not null then take next arg otherwise take next to next arg here it is sal
Generated by Foxit Edited
PDF Creator © Foxit
by Foxit Software
Reader
http://www.foxitsoftware.com For by
Copyright(C) evaluation only.
Foxit Software Company,2005-2007
For Evaluation Only.
DECODE()
------------------
we can put if then else statements here
SELECT JOB,SAL,
DECODE(JOB,'MANAGER',SAL+SAL*.10,
'CLERK',SAL+SAL*.05,
SAL) AS RAISE_SAL FROM EMP;
IF NO ELSE IE LAST SENTENCE IS NOT THERE THEN OTHER ENTRIES WILL NOT BE PRINTED;
ROWID
--------------
is a unique id generated for every record stored in the database
ROWNUM:
----------------
sequnce of numbers for the records
SQL COMMANDS
DDL: DATA DEFINITION LANGUAGE ->PERMANENT
CAN NOT BE ROLLED BACK
AUTO COMMIT FALLOWS
CREATE
ALTER this is w/r structure of the table
DROP
TRUNCATE
RENAME
DML : DATA MANIPULATION LANGUAGE -> CAN BE ROLLED BACK
INSERT
UPDATE
DELETE these operations are on records but not on the tables like DDL. minute we execute DDL, auto commit immedialtely fallows
but f
TCL
NOTE:
select is a command which can be used for querying the database 2) with create command 3) with dml commands
CREATE:
CREATE TABLE <TNAME>
COL1 <DATATYPE(SIZE)>,
COL2 <DATATYPE(SIZE)>,
---,
---,
COLN <DATATYPE(SIZE))
INSERT
---------------
CLASS ASSIGNMENT
-----------------------------------
WRITE A QUERY TO DISPLAY THE N NUMBER OF RECORDS AT RANDOM FROM EMP WHEREN IS INPUT FROM USER
DELETE:
----------------
DELETE [FROM] ,<TNAME> -> APPLICABLE ON ALL RECODS
DELETE[FROM] <TNAME> WHERE COLNAME =<UNIQUE_VAL>; one row is deleted
TCL
-------------
COMMIT : MAKES DML PERMANENT
UPTO PREV COMMIT
UPTO PREV DDL
UPTO NORMAL DISCONNECT SQL>DISCONNECT/SQL>EXIT
ROLLBACK: UPTO PREV COMMIT
UPTO PREV DDL
UPTO UBNORMAL DISC->POWER FAILURE CLOSE SQL * PLUS
SAVEPOINT: basically a bench mark so that it roll back to the specified bench mark or save point specified
the moment commit is specified all the save points are removed. when committed or drop table is done save points are removed
DCL
===========
GRANT
REVOKE
othr transactions by the users are made to wait untill user2 is eithr commits or rolls back
REVOKE:
--------------------
USER 1 CAN REVOKE FROM USER 2
USER1 <------------------ USER2
<-------------------USER3
USER 3 AUTOMATICALLY LOOSES THE LINK WHERE AS
USER3 CAN REVOKE IT FROM USER 2
BUT WHAT IS NOT POSSIBLE IS USER3 CAN NOT DIRECTLY REVOKE USER1