Presentation is loading. Please wait.

Presentation is loading. Please wait.

Oracle Academy Egypt Virtual training week 8 Sections from 7 to 9.

Similar presentations


Presentation on theme: "Oracle Academy Egypt Virtual training week 8 Sections from 7 to 9."— Presentation transcript:

1 Oracle Academy Egypt Virtual training week 8 Sections from 7 to 9

2 Oracle Academy Egypt 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. _____________________________________________ Create table sales_reps As (select * from employees Where 1 = 2) This syntax used to create table with same structure and same data type but without any row.

3 Oracle Academy Egypt

4

5

6

7

8

9

10 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. ALL If you specify ALL, the default value, then the database evaluates each WHEN clause regardless of the results of the evaluation of any other WHEN clause. For each WHEN clause whose condition evaluates to true, the database executes the corresponding INTO clause list. FIRST If you specify FIRST, then the database evaluates each WHEN clause in the order in which it appears in the statement. For the first WHEN clause that evaluates to true, the database executes the corresponding INTO clause and skips subsequent WHEN 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 clause list associated with the ELSE clause. If you did not specify an else clause, then the database takes no action for that row.

11 Oracle Academy Egypt INSERT ALL INTO 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 calls WHERE TRUNC(call_timestamp ) = TRUNC(SYSDATE ) Multitable insert Unconditional

12 Oracle Academy Egypt Multi-Table Inserts Conditional INSERT ALL WHEN call_ format IN (tlk,txt,pic) THEN INTO all_calls VALUES (caller_id, call_timestamp, call_duration, call_format) WHEN call_ format IN (tlk,txt) THEN INTO police_record_calls VALUES (caller_id, call_timestamp, recipient_caller) WHEN call_duration < 50 AND call_type = tlkTHEN INTO short_calls VALUES (caller_id, call_timestamp, call_duration) WHEN call_duration > = 50 AND call_type = tlkTHEN INTO long_calls VALUES (caller_id, call_timestamp, call_duration) SELECT caller_id, call_timestamp, call_duration, call_format, recipient_caller) FROM calls WHERE TRUNC(call_timestamp ) = TRUNC(SYSDATE )

13 Oracle Academy Egypt

14

15 We can use single row subquery only to update rows

16 Oracle Academy Egypt Department table didn't have department_id 55

17 Oracle Academy Egypt Note/ If no where condition is used all rows in the table will be deleted

18 Oracle Academy Egypt

19

20 Data copied from items table to copy_items table

21 Oracle Academy Egypt

22

23

24

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

26 Oracle Academy Egypt In this case 0 will be added

27 Oracle Academy Egypt External Tables an 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 table Same 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 starts FIELDS – the start of the external file field name and datatype specification... LOCATION – name of the actual file containing the data

28 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'));

29 Oracle Academy Egypt Data dictionary contains what is called meta data (data of data)

30 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

31 Oracle Academy Egypt

32

33

34

35

36

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

38 Oracle Academy Egypt

39

40

41 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)

42 Oracle Academy Egypt FLASHBACK TABLE FLASHBACK 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.

43 Oracle Academy Egypt FLASHBACK QUERY A typical flashback query might look like this: SELECT versions_starttime AS "START_DATE", versions_endtime AS "END_DATE", salary FROM employees VERSIONS BETWEEN SCN MINVALUE AND MAXVALUE WHERE department_id = 90;

44 Oracle Academy Egypt

45 FLASHBACK QUERY SELECT versions_starttime "START_DATE", versions_endtime "END_DATE", salary FROM employees VERSIONS BETWEEN SCN MINVALUE AND MAXVALUE WHERE department_id=90 Rows from the oldupdated version are in red in the output table below:

46 Oracle Academy Egypt NOTE Oracle 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.

47 Oracle Academy Egypt

48

49 clients_client_num_pk SYS_C 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_C 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!

50 Oracle Academy Egypt

51

52

53

54

55

56

57

58

59

60 clients_ _nn_not null

61

62

63

64

65 GOOD LUCK SEE YOU NEXT MEETING Raafat Rashad


Download ppt "Oracle Academy Egypt Virtual training week 8 Sections from 7 to 9."

Similar presentations


Ads by Google