Chapter Twenty Producing Readable Output Chapter 21: Report writing Chapter Twenty Producing Readable Output Objectives: Writing reports Page setup Page layout Queries with input Chapter 21: Report writing COSC 641
Producing Readable Output Chapter 21: Report writing Producing Readable Output Your Name January 7,2001 List of courses Department Course No. Course Name Credit Date Started Max enrollment COSC 100 Intro 3 2-10-92 30 110 Intro II 2-11-98 15 200 Programming 14-2-93 20 220 Application 10-10-01 Total 12 MATH Algebra 4 1-9-91 45 Grand Total Report1.sql Page 1 COSC 641
Summary of Formatting Output Commands Chapter 21: Report writing Summary of Formatting Output Commands COLUMN TTITLE BTITLE BREAK ON COMPUTE Chapter 21: Report writing COSC 641
Chapter 21: Report writing COLUMN: COLumn name | expression CLEar FORmat format HEAding Text JUStify L | C | R NEWLine NEW_VALUE continue Chapter 21: Report writing COSC 641
Chapter 21: Report writing COLUMN:(continued) NULl text NOPRInt PRInt WRApped TRUncated Chapter 21: Report writing COSC 641
Chapter 21: Report writing Formatting Option: COLUMN Name FORMAT A10 COLUMN id FORMAT 9999 COLUMN cr FORMAT 9 COLUMN Gpa FORMAT 9.99 FORMAT: $9999 9 0999 990 9,999.99 DATE A10 L999 Chapter 21: Report writing COSC 641
Chapter 21: Report writing Formatting Option: COLUMN Name FORMAT A10 COLUMN id FORMAT 9999 COLUMN cr FORMAT 9 COLUMN GPA FORMAT 9.99 SELECT Name, id, cr, GPA FROM student WHERE Major=‘COSC’ ORDER BY GPA; Chapter 21: Report writing COSC 641
Chapter 21: Report writing Heading Option: COLumn Name HEAding ‘Student’’s Name’ COLumn id HEAding ‘Student’’s ID’ COLumn cr*grade HEAding ‘Score’ COLumn name HEAding ‘Student’’s Name’ JUSTIFY R COLumn Name HEAding ‘Name’ FORmat A10 COLumn Major FORmat A7 NULL ‘NO Major’ COL address HEADING ‘Addr’ FORmat A7 TRUncated Chapter 21: Report writing COSC 641
Chapter 21: Report writing Column Example: COLumn id HEADING ‘Stud ID’ FORMAT 9999 TRUNCATED Chapter 21: Report writing COSC 641
Chapter 21: Report writing Clear Setting COLumn Major CLEar COLumn Chapter 21: Report writing COSC 641
Chapter 21: Report writing Break on BREAK ON id SKIP 2 BREAK ON id DUPLICATES SKIP 2 BREAK ON id NODUPLICATES BREAK ON Major ON ID BREAK ON REPORT PAGE ON dept PAGE Chapter 20: Report writing COSC 641
Chapter 21: Report writing Break on Format: BREAK ON column BREAK ON row BREAK ON page BREAK ON report SKIP n SKIP page CLEAR BREAK Chapter 21: Report writing COSC 641
Chapter 21: Report writing Compute COMPUTE SUM OF gpa ON id COMPUTE SUM LABEL ‘Total’ OF gpa ON id COMPUTE AVG OF a, b, c, d ON e COMPUTE SUM AVG COUNT OF gpa ON id AVG COUNT MAX MIN STD VAR Chapter 21: Report writing COSC 641
Chapter 21: Report writing Check the Setting: COLUMN BREAK SHOW DEFINE Chapter 21: Report writing COSC 641
Chapter 21: Report writing Page Setup Line size: SET LINESIZE 75 Page size: SET PAGESIZE 60 Blank lines at the top: SET NEWPAGE 3 Writing into a file: SPOOL filename.lis SPOOL Gstudent.lis SPOOL OFF Chapter 21: Report writing COSC 641
Chapter 21: Report writing Page Setup Display: SET TERMOUT ON SPOOL filename.lis SET TERMOUT OFF Heading separator: SET HEADSEP char SET HEADSEP ! Underlining: SET UNDERLINE OFF Chapter 21: Report writing COSC 641
Chapter 21: Report writing Page Setup Title: TTITLE text | variable TTITLE ‘Information‘ BTITLE ‘Confidential‘ TTITLE Left ‘Page: ’ SQL.PNO – Right ‘Date: ‘ SYSDATE Skip 1 – Center ‘ My Report ‘ Skip 3; SQL.LNO SQL.PNO SQL.RELEASE SQL.SQLCODE SQL.USER Chapter 21: Report writing COSC 641
Chapter 21: Report writing Page Setup Host: HOST myedit filename.SQL HOST list 2 Start: START filename.SQL Chapter 21: Report writing COSC 641
Chapter 21: Report writing Page Setup Summary: COLUMN COLUMN colname TTITLE BTITLE BREAK COMPUTE DEFINE SHOW HEADSEP SHOW LINESIZE SHOW PAGESIZE SHOW NEWPAGE Chapter 21: Report writing COSC 641
Chapter 21: Report writing Set Commands COLSEP [ |Text] FEEDBACK [OFF| ON| n] HEADING [OFF| ON] LINESIZE [n] PAGESIZE [n] PAUSE [OFF| ON| Text] TERMOUT [OFF| ON] Chapter 21: Report writing COSC 641
Report Writing Example: Chapter 21: Report writing Report Writing Example: Your Name January 7,2001 List of courses Department Course No. Course Name Credit Date Started Max enrollment COSC 100 Intro 3 2-10-92 30 110 Intro II 2-11-98 15 200 Programming 14-2-93 20 220 Application 10-10-01 Total 12 MATH Algebra 4 1-9-91 45 Grand Total Report1.sql Page 1 Chapter 21: Report writing COSC 641
Report Writing Example: Chapter 21: Report writing Report Writing Example: CLEAR BREAK CLEAR COMPUTE COLUMN dept HEADING ‘Department’ FORMAT A12 COLUMN c_num HEADING ‘Course|No.’ FORMAT 999 COLUMN title HEADING ‘Course|Name’ FORMAT A13 COLUMN cr HEADING ‘Credit’ FORMAT 99 COLUMN D_start HEADING ‘Date|Started’ FORMAT DATE COLumn m_enrol HEAding ‘Max|Enrollment’ FORMAT 999 Chapter 21: Report writing COSC 641
Report Writing Example: Chapter 21: Report writing Report Writing Example: COL SYSDATE NEW_VALUE xdate NOPRINT - FORMAT A10 TRUNC BREAK ON dept SKIP 2 COMPUTE SUM LABEL ‘Total’ OF cr ON dept COMPUTE SUM LABEL ‘Grand Total’ OF cr ON dept REPORT TTITLE LEFT ‘Your Name:’ - RIGHT xdate SKIP 2 - CENTER ‘List of Courses’ SKIP 1 Chapter 21: Report writing COSC 641
Report Writing Example: Chapter 21: Report writing Report Writing Example: BTITLE LEFT ‘Report1.sql’ - RIGHT ‘Page:’ SQL.PNO SELECT dept, c_num, title, cr, d_start.m_enroll,SYSDATE FROM department WHERE dept IN (‘COSC’, ‘MATH’) ORDER BY dept; Chapter 21: Report writing COSC 641
Chapter 21: Report writing Login File Login.sql prompt login.sql loaded set feedback off set sqlprompt ‘ ‘ set sqlnumber off set numwidth 5 set pagesize 24 set linesize 79 Chapter 21: Report writing COSC 641
Substitution Variables Chapter 21: Report writing Substitution Variables Use substitution variables to temporarily store values - & - & & - DEFINE and ACCEPT Pass variable values between SQL statements Dynamically alter headers and footers Chapter 21: Report writing COSC 641
Chapter 21: Report writing USING & VARIABLE: SELECT name, id, address FROM student WHERE id=&student_id; Enter value for student_id: Chapter 21: Report writing COSC 641
& Substitution Variables Chapter 21: Report writing & Substitution Variables User provides the input to the query SELECT Name, GPA, ID FROM Student WHERE UPPER(Major) = &Major_Input; Enter Value for Major_Input: ‘COSC’ Chapter 21: Report writing COSC 641
& Substitution Variables Chapter 21: Report writing & Substitution Variables SELECT Name, ID, &Column_name FROM Student WHERE &condition ORDER BY ℴ Enter Value for Column_name: Enter Value for Condition: Enter Value for Order: Chapter 21: Report writing COSC 641
&& Substitution Variables Chapter 21: Report writing && Substitution Variables Use a value of a variable more than one time SELECT Name, ID, &&Column_name FROM Student WHERE &Column_name=&NewName; Enter value for Column_name: Enter value for NewName: Chapter 21: Report writing COSC 641
Chapter 21: Report writing SET VERIFY ON: SQL> SET VERIFY ON SQL> SELECT name, id, address 2 FROM student 3 WHERE id=&student_id; Enter value for student_id: 1111 Old 3: where id=&student_id; New 3: where id= 1111 Chapter 21: Report writing COSC 641
Character and Date Values With Substitution Variables: Chapter 21: Report writing Character and Date Values With Substitution Variables: SELECT name, id, b_date FROM student WHERE b_date = '&new_birthdate'; Enter value for new_birthdate: Chapter 21: Report writing COSC 641
Specifying Column Names, Expressions, and Text at Runtime Chapter 21: Report writing Specifying Column Names, Expressions, and Text at Runtime WHERE condition ORDER BY clause COLUMN expression TABLE name Entire SELECT statement Chapter 21: Report writing COSC 641
Chapter 21: Report writing Example SELECT name, id, rank, &column_name FROM faculty WHERE &condition ORDER BY &order_column; Enter value for column_name: Enter value for condition: Enter value for order_column: Chapter 21: Report writing COSC 641
Defining User Variables Chapter 21: Report writing Defining User Variables You can pre-define variables using: DEFINE: Create a user variable of CHAR data type ACCEPT: Read user input and store it in a variable Chapter 21: Report writing COSC 641
Defining User Variables Chapter 21: Report writing Defining User Variables If you need to predefine a variable that includes spaces, you need to enclose the value within single quotation marks, when using the DEFINE command. DEFINE variable=CAR DEFINE variable DEFINE ACCEPT Chapter 21: Report writing COSC 641
Chapter 21: Report writing ACCEPT Command: Create a customized prompt when accepting user input Explicitly defines a NUMBER or DATE data type variable Hides user input for security Chapter 21: Report writing COSC 641
Chapter 21: Report writing ACCEPT Command: ACCEPT variable [ data type] [FORMAT format][prompt text ] [HIDE] ACCEPT field PROMPT 'Input your Major:‘ SELECT * FROM student WHERE major=UPPER ('&field') Input your major: Chapter 21: Report writing COSC 641
Chapter 21: Report writing DEFINE and UNDEFINE Use the UNDEFINE command to clear Exit SQL*plus To define variables for every session, modify your login.sql file Chapter 21: Report writing COSC 641
Chapter 21: Report writing Create a Variable DEFINE dept_name=COSC DEFINE dept_name SELECT * FROM faculty WHERE dept=UPPER ('&dept_name'); UNDEFINE dept_name Chapter 21: Report writing COSC 641