virtual training week 8

Click here to load reader

Upload: dinesh

Post on 09-Jan-2016

45 views

Category:

Documents


0 download

DESCRIPTION

Virtual training week 8. Sections from 7 to 9. Create table copy_departments As (select * from departments) This syntax used to create table with same structure and same data type and all rows of the originL Table with other name. _____________________________________________ - PowerPoint PPT Presentation

TRANSCRIPT

  • Virtual training week 8Sections from 7 to 9

    Oracle Academy Egypt

  • Create table copy_departmentsAs (select * from departments)

    This syntax used to create table with same structure and same data type and all rows of the originL Table with other name._____________________________________________Create table sales_repsAs (select * from employeesWhere 1 = 2)This syntax used to create table with same structure and same data type but without any row.

    Oracle Academy Egypt

  • Oracle Academy Egypt

  • Oracle Academy Egypt

  • Oracle Academy Egypt

  • Oracle Academy Egypt

  • Oracle Academy Egypt

  • Oracle Academy Egypt

  • Oracle Academy Egypt

  • Multi-table inserts can be unconditional or conditional. In an unconditional multitable insert Oracle will insert all rows returned by the subquery into all table insert clauses found in the statement.In a conditional multi-table insert you can specify either ALL or FIRST.ALLIf you specify ALL, the default value, then the database evaluates each WHENclause regardless of the results of the evaluation of any other WHEN clause.For each WHEN clause whose condition evaluates to true, the database executesthe corresponding INTO clause list.FIRSTIf you specify FIRST, then the database evaluates each WHEN clause in the orderin which it appears in the statement. For the first WHEN clause that evaluates totrue, the database executes the corresponding INTO clause and skips subsequentWHEN clauses for the given row.ELSE clause For a given row, if no WHEN clause evaluates to true, then:If you have specified an ELSE clause, then the database executes the INTO clauselist associated with the ELSE clause.If you did not specify an else clause, then the database takes no action for that row.

    Oracle Academy Egypt

  • INSERT ALLINTO all_calls VALUES (caller_id, call_timestamp, call_duration, call_format)INTO police_record_calls VALUES (caller_id, call_timestamp, recipient_caller)SELECT caller_id, call_timestamp, call_duration, call_format , recipient_caller)FROM callsWHERE TRUNC(call_timestamp ) = TRUNC(SYSDATE )Multitable insert Unconditional

    Oracle Academy Egypt

  • Multi-Table Inserts ConditionalINSERT ALLWHEN call_ format IN (tlk,txt,pic) THENINTO all_calls VALUES (caller_id, call_timestamp, call_duration, call_format)WHEN call_ format IN (tlk,txt) THENINTO police_record_calls VALUES (caller_id, call_timestamp, recipient_caller)WHEN call_duration < 50 AND call_type = tlkTHENINTO short_calls VALUES (caller_id, call_timestamp, call_duration)WHEN call_duration > = 50 AND call_type = tlkTHENINTO long_calls VALUES (caller_id, call_timestamp, call_duration)SELECT caller_id, call_timestamp, call_duration, call_format , recipient_caller)FROM callsWHERE TRUNC(call_timestamp ) = TRUNC(SYSDATE )

    Oracle Academy Egypt

  • Oracle Academy Egypt

  • Oracle Academy Egypt

  • We can use single row subquery only to update rows

    Oracle Academy Egypt

  • Department table didn't have department_id 55

    Oracle Academy Egypt

  • Note/ If no where condition is used all rows in the table will be deleted

    Oracle Academy Egypt

  • Oracle Academy Egypt

  • Oracle Academy Egypt

  • Data copied from items table to copy_items table

    Oracle Academy Egypt

  • Oracle Academy Egypt

  • Oracle Academy Egypt

  • Oracle Academy Egypt

  • Oracle Academy Egypt

  • If you dont enter any value a 0 will be entered, same time any other number (value) can be enteredThe length of the character is up to 10 characters

    Oracle Academy Egypt

  • In this case 0 will be added

    Oracle Academy Egypt

  • External Tablesan external table would be used to store data migrated from older versions of the databases used by a company.The syntax to create an external tableSame syntax for creating table in addition to the following ..ORGANIZATION EXTERNAL -- tells Oracle to create an external table(TYPE ORACLE_LOADER -- of type Oracle Loader (an Oracle Product)DEFAULT DIRECTORY def_dir1 -- what is the name of the directory where the file exists ACCESS PARAMETERS -- how to read the file(RECORDS DELIMITED BY NEWLINE -- how to identify a new row startsFIELDS the start of the external file field name and datatype specification...LOCATION name of the actual file containing the data

    Oracle Academy Egypt

  • CREATE TABLE emp_load(employee_number CHAR(5),employee_dob CHAR(20),employee_last_name CHAR(20),employee_first_name CHAR(15),employee_middle_name CHAR(15),employee_hire_date DATE)ORGANIZATION EXTERNAL(TYPE ORACLE_LOADER DEFAULT DIRECTORY def_dir1 ACCESS PARAMETERS (RECORDS DELIMITED BY NEWLINE FIELDS (employee_number CHAR(2),employee_dob CHAR(20), employee_last_name CHAR(18), employee_first_name CHAR(11), employee_middle_name CHAR(11), employee_hire_date CHAR(10) date_format DATE mask "mm/dd/yyyy))LOCATION ('info.dat'));

    Oracle Academy Egypt

  • Data dictionary contains what is called meta data (data of data)

    Oracle Academy Egypt

  • Show all available views in your schema Show the names of all tables in your schema Show all objects available in your schema Show the names of the objects and their titles in your schema

    Oracle Academy Egypt

  • Oracle Academy Egypt

  • Oracle Academy Egypt

  • Oracle Academy Egypt

  • Oracle Academy Egypt

  • Oracle Academy Egypt

  • Oracle Academy Egypt

  • Sometimes tables dont be dropped if therere dependences (PK and FK between two tables)

    Oracle Academy Egypt

  • Oracle Academy Egypt

  • Oracle Academy Egypt

  • Oracle Academy Egypt

  • Flashback This command can be used to restore a table, a view or an index that was dropped in error.Also used to view row data at specific points in time, so we can compare different versions of a row over time.(We can use this facility to look at what the rows looked like BEFORE those changes were applied)

    Oracle Academy Egypt

  • FLASHBACK TABLEFLASHBACK TABLE tablename TO BEFORE DROP;Note/ As the owner of a table you can issue the flashback command, and if the table that you are restoring had any indexes, then these are also restored.

    Oracle Academy Egypt

  • FLASHBACK QUERYA typical flashback query might look like this:SELECT versions_starttime AS "START_DATE",versions_endtime AS "END_DATE",salaryFROM employeesVERSIONS BETWEEN SCN MINVALUE AND MAXVALUEWHERE department_id = 90;

    Oracle Academy Egypt

  • Oracle Academy Egypt

  • FLASHBACK QUERYSELECT versions_starttime "START_DATE",versions_endtime "END_DATE",salaryFROM employeesVERSIONS BETWEEN SCN MINVALUE AND MAXVALUEWHERE department_id=90Rows from the oldupdated version are in red in the output table below:

    Oracle Academy Egypt

  • NOTEOracle is getting the FLASHBACK QUERY data from the before images held in the database in the UNDO tablespace. Typically, this UNDO data is only available for up to 15 minutes after the transaction was committed. Once the UNDO data has been overwritten by Oracle, Flashback queries are no longer possible, so if you want to use this functionality, you will have to do it quickly after the changes were committed.

    Oracle Academy Egypt

  • Oracle Academy Egypt

  • Oracle Academy Egypt

  • When the constraint is created, it can be given a name, such as clients_client_num_pk, or given no name, in which case the system gives the constraint a name, such as SYS_C00585417. Note: If the word CONSTRAINT is used in the CREATE TABLE definition, you must give the constraint a name. It is best to name constraints yourself. Why? The system-generated names are not intuitive. You can do better than the database when it comes to naming!

    Oracle Academy Egypt

  • Oracle Academy Egypt

  • Oracle Academy Egypt

  • Oracle Academy Egypt

  • Oracle Academy Egypt

  • Oracle Academy Egypt

  • Oracle Academy Egypt

  • Oracle Academy Egypt

  • Oracle Academy Egypt

  • Oracle Academy Egypt

  • Oracle Academy Egypt

  • clients_email_nn_not null

    Oracle Academy Egypt

  • Oracle Academy Egypt

  • Oracle Academy Egypt

  • Oracle Academy Egypt

  • Oracle Academy Egypt

  • GOOD LUCKSEE YOU NEXT MEETINGRaafat [email protected] [email protected]

    Oracle Academy Egypt