µ±Ç°Î»Ö㺠´úÂëÃÔ >> SQL >> SQL*Plus 使用æŠ?å·
  Ïêϸ½â¾ö·½°¸

SQL*Plus 使用æŠ?å·

Èȶȣº45   ·¢²¼Ê±¼ä£º2016-05-05 12:09:00.0
SQL*Plus 使用��
8. 使用&符å�·è¡¨ç¤ºä¸´æ—¶å�˜é‡�ã€?在Oracleä¸?�¯ä»¥ä½¿ç”¨å�˜é‡�æ�¥ç¼–写通用的SQL,在è¿�è?è¯?�¥æ—¶ï¼Œä¸ºå�˜é‡�输入å?¼ã??   a. 临时å�˜é‡�å�?œ¨ä½¿ç”¨å®ƒçš„SQLè¯?�¥ä¸?œ‰æ•ˆï¼Œå�˜é‡�值ä¸�能ä¿�ç•™ã?‚临时å�˜é‡�也è¢?§°ä¸ºæ›¿æ�¢å�˜é‡�ã??		select salary,&column_n		from employees		where rownum < &row   b. 在SQLä¸??果希望é‡�新使用æŸ�ä¸?�˜é‡�并且ä¸�希望é‡�æ–°æ��示输入å�˜é‡�值是,那么å�¯ä»¥ä½¿ç”?amp;&符å�·æ�¥å®šä¹‰ä¸´æ—¶å�˜é‡�ã??   c. set verify off/on 显示和ä¸�显示类似如下的信æ�?¼š	原å??   1: select salary,&column_name, first_name	æ–°å??   1: select salary,last_name, first_name

9. 使用已定义å�˜é‡?具有明确定义的å�˜é‡�,该å�˜é‡�的值会ä¸?ç›´ä¿�留到è¢?˜¾ç¤ºåœ°åˆ é™¤ï¼Œé‡�定义或é??出SQL*Plus为æ?)   a. 在SQLè¯?�¥ä¸?¼Œå�?»¥åœ¨ä½¿ç”¨å�˜é‡�之å‰�å?å�˜é‡�è¿›è?定义,然å�Žåœ¨SQLè¯?�¥ä¸?�¯ä»¥å?å�ƒä½¿ç”¨è¿™ä¸?�˜é‡�ã??   b. define/accept 定义å�˜é‡�ï¼?c. undefine 删除å�˜é‡�ã€?     define 显示æ‰?有已定义å�˜é‡�ï¼?define variable 显示指定å�˜é‡�å��称,å?¼å’Œå…¶æ•°æ�?±»åž‹ã??   define variable = value 创建ä¸?个char 类型å�˜é‡�,并赋åˆ�å§‹å??		SQL> define sal = 4400		SQL> select * from employees		  2  where salary = &sal		  3  /   dã€?使用accept命令定义å�˜é‡�,并且定制一ä¸?”¨æˆ·æ��示ã?‚定义是å�?»¥æ˜Žç¡®æŒ‡å®šå�˜é‡�类型ã€?	acc[ept] variable [data_type][for[mat] format] [def[ault] default] [prompt text|nopr[ompt]][hide]	SQL> accept test char prompt 'Hi, you are required first_name which is '	Hi, you are required first_name which is 'Put'	SQL> select * from employees where first_name = &test;	原å??   1: select * from employees where first_name = &test	æ–°å??   1: select * from employees where first_name = 'Put'

10. column æ ¼å¼�化列的显示效果,包括列标题和列数æ�??‚使用clear columns 删除格å¼�化ã??    col[umn] [{column_name|ali[as] alias}[options]]    a。column_name 指定列å��ã€?b.alias alias指定è¦�æ ¼å¼�化的列的别å��ã??    c. options 指定用于格å¼�化了或别å��çš„ä¸?ä¸?ˆ–者å?ä¸??‰é¡¹ã€?	column salary heading 'sal' format L9999.99	column last_name heading 'Name' fromat a18column column_name for[mat] formatoption选项ï¼?for[mat] format 将列或列å��的显示格å¼�设置为由formatå­—ç?串指定的格å¼�ã€?	     hea[ding] text 设置有textæ”?»˜æŒ‡å®šçš„列标é?ã€?	     jus[tify] [{left|center|right}] 将列的输出信æ�?·¦å¯¹é½�ã€�å±…ä¸?’Œå�³å?é½�ã??


11. pagesize 命令设置ä¸?页显示å?å°‘è?æ•°æ�®ï¼Œä»Žè€ŒæŽ§åˆ¶æ¯�ä¸?页显示数æ�?‡�ã€?    set pagesize n  (n 表示æ¯�一页大å°�的正整数,æœ?大是50000,默认å?¼æ˜¯14)    页并ä¸�是仅仅由输出的数æ�®è¡Œæž„æˆ�,而是sql*plus显示到å±�幕上æ‰?有结果构æˆ�,包å�«æ ‡é?和空行等ã€?12. linesize 命令 设置ä¸?行数æ�?�¯ä»¥å?纳的字ç?æ•°é‡�,默认数é‡�是80. 如果linesize值较å°�,那么ä¸?行数æ�?�¯èƒ½éœ€è¦�å?行显示ã??    set linesize n (n表示å±�幕上一行数æ�?�¯ä»¥å?纳的字ç?æ•°é‡�,有效范围是1 - 32767)	set pagesize 100;	set linesize 5678;	column employee_id justify center;	column manager_id jus center;	column department_id jus center;	select * from employees;

13. 创建ç®?å�•报表ã??a 使用tti[tle] [printspec [text|variable]...]|[off|on] 设置出现在æ¯�ä¸?ä¸?¡µé�¢é¡¶ç«?š„页眉ã€?   printspec çš„å�¯é€‰å?¼æœ‰left,centere,right,bold,format text,col n, s[kip][n]å’Œtab n.   on 选项表示å�?”¨è®¾ç½®ï¼›off表示å�–消设置ã€?   还å�¯å¸¦æœ‰ç”¨æˆ·å�˜é‡�(内å?有系统维æŠ?,å?sql.pno页å�·ï¼Œsql.lno行å�·ç­‰ã??b. 使用bti[tle] [printspec[text|variable]..]]|[on|off] 指定出现在报表中æ¯�一页é�¢åº•部的页脚ã??c. æœ?å�Žéœ€è¦�è?得使用命å��tti/btti off 关闭ã€?	SQL> ttitle left 'Date: ' _date center 'Query data from employees' right 'Page: ' format 999 skip 2 sql.pnd	SQL> btitle center 'Thank you for viewing this report'	SQL> set echo off	SQL> set verify off	SQL> set pagesize 50	SQL> set linesize 5000	SQL> column employee_id heading 'emp_no' format 9999	SQL> column salary heading 'sal' format L99,999.99	SQL> column job_id justify center	SQL> column department_id justify center	SQL> select * from employees;

14. 计算å°�è?break以å�Šcompute命令ã€?    bre[ak] [on column_name] skip n a.column_name 表示对哪ä¸?列执行æ“�作ã?? b.skip n表示在指定列的å?¼å�˜åŒ–之å‰�æ�’å…?ä¸?©ºè¡Œã??    comp[ute] function lable lable_text of column on a.表示执è?çš„æ“�作,例å?sum/avg/countç­‰ã?? b. lable 指定显示结果æ˜?š„æ–‡æœ¬ä¿¡æ�¯ã€?break on deptno  表示根æ�®deptnoè¿›è?分组ã€?compute sum of salary on deptno 表示根æ�®å‘˜å·¥æ‰?在部门分组,å†�求工资之和ã€?SQL> set pagesize 100;SQL> set linesize 5000;SQL> break on department_id;SQL> compute sum of salary on department_id;SQL> select * from employees;

  到æ?为æ?,为期两天的plsql*plus的相关æ“�作以å�Šå?完,希望è‡?·±ç»�常使用ä¸�至于é�—忘ã??å°�æ“�作å°�æŠ?巧还æ˜?œ€è¦�实践中获知ã€?
  Ïà¹Ø½â¾ö·½°¸