您好,欢迎访问三七文档
1*Plus创建友好的输出2使用替换变量,提示用户输入职位名称,查询出员工号,姓名,工资,部门号2.预定义一个职位名称的一个变量,并在查询出员工号,姓名,工资,部门号select语句中使用预定义变量3.设置sqlplus环境的linesize为200,并让这个变量永久生效3替代变量–使用SQL*Plus替代变量来暂时保存值.•单个(&)符号•两个(&&)符号•DEFINE和ACCEPT命令–在SQL命令中传递变量值.–动态更改表头和表尾.5带有一个&的替换变量•使用带有一个&号的变量值来提示用户输入一个值.SQLSELECTempno,ename,sal,deptno2FROMemp3WHEREempno=&employee_num;Entervalueforemployee_num:7369EMPNOENAMESALDEPTNO-------------------------------------7369SMITH800206命令•使SQL*Plus显示用某个具体值替换变量名之前和之后的命令文本.SQLSETVERIFYONSQLSELECTempno,ename,sal,deptno2FROMemp3WHEREempno=&employee_num;Entervalueforemployee_num:7369old3:WHEREempno=&employee_numnew3:WHEREempno=7369...7替换变量中的字串和日期值•使用单引号标志替换变量中的日期和字串值.SQLSELECTename,deptno,sal*122FROMemp3WHEREjob='&job_title';Entervalueforjob_title:ANALYSTENAMEDEPTNOSAL*12----------------------------SCOTT2036000FORD20360008运行时指定列名、表达式、文本•使用替换变量对下列内容作出补充:–WHERE条件–ORDERBY子句–列表达式–表名9运行时指定列名、表达式、文本SQLSELECTempno,ename,job,&column_name2FROMemp3WHERE&condition4ORDERBY&order_column;Entervalueforcolumn_name:salEntervalueforcondition:sal=3000Entervaluefororder_column:enameEMPNOENAMEJOBSAL-------------------------------------7902FORDANALYST30007839KINGPRESIDENT50007788SCOTTANALYST300010带有两个&的替换变量•使用带有两个&的变量可以使得该变量可以重复使用,而不必在每次使用时提醒用户输入.SQLSELECTempno,ename,job,&&column_name2FROMemp3ORDERBY&column_name;Entervalueforcolumn_name:deptnoEMPNOENAMEJOBDEPTNO-------------------------------------7839KINGPRESIDENT107782CLARKMANAGER107934MILLERCLERK10...14rowsselected.11定义用户变量–可以使用下面的两个SQL*Plus命令来预定义用户变量:•DEFINE:创建CHAR类型的用户变量。•ACCEPT:读取用户输入并把它存在一个变量里面。–当使用DEFINE命令来定义一个包含空格的变量时,要用单引号将该变量括起来。12命令–当接收用户输入时,创建可定制的用户提示。–明确地定义NUMBER或者DATE类型的变量。–出于安全方面的因素,隐藏用户的输入。ACCEPTvariable[datatype][FORMATformat][PROMPTtext][HIDE]13:'SELECT*FROMdeptWHEREdname=UPPER('&dept')/Providethedepartmentname:SalesDEPTNODNAMELOC------------------------------------30SALESCHICAGO14命令–一个变量将保持在被定义的状态,直到:•使用UNDEFINE命令将它清除•离开SQL*Plus–可以用DEFINE命令验证所做的改变.–如果要定义在每一次会话中都要用到的变量,改变glogin.sql文件,这样在每一次启动时,变量就创建了.15命令–创建一个deptname变量以存储部门名称.DEFINEDEPTNAME=sales(CHAR)SQLDEFINEdeptname=salesSQLDEFINEdeptnameSQLSELECT*2FROMdept3WHEREdname=UPPER('&deptname');–使用自己定义的变量16*Plus环境–使用SET命令来控制当前的会话.–验证以及做了使用SHOW命令的设置.SQLSETECHOONSQLSHOWECHOechoONSETsystem_variablevalue17设置命令变量–ARRAYSIZE{20|n}•每一批的行数–COLSEP{_|text}•设定选择出的各列的间隔–FEEDBACK{6|n|OFF|ON}•是否显示查询结果–HEADING{OFF|ON}•头信息–LINESIZE{80|n}•每一行的长度–LONG{80|n}•设置显示long,lob等型字段的长度–PAGESIZE{24|n}•页面的尺寸–PAUSE{OFF|ON|text}•设置滚屏是否自动18文件中保存定制结果–glogin.sql文件包含在登录时需要执行的标准SET命令及其他命令.–可以更改glogin.sql以包含其他SET命令.19*Plus格式命令•COLUMN[columnoption]•TTITLE[text|OFF|ON]•BTITLE[text|OFF|ON]•BREAK[ONreport_element]20命令•控制列的输出–CLE[AR]:清除掉所有的列格式–FOR[MAT]format:使用格式模型来改变列的显示。–HEA[DING]text:设置列头–JUS[TIFY]{align}:将列头对齐到左边、中间、或者右边。COL[UMN][{column|alias}[option]]21命令–创建列头.COLUMNenameHEADING'Employee|Name'FORMATA15COLUMNsalJUSTIFYLEFTFORMAT$99,990.00COLUMNmgrFORMAT999999999NULL'Nomanager'COLUMNenameCOLUMNenameCLEAR显示ENAME列的显示格式清除ENAME列的设这22命令–展示头部和尾部.TTI[TLE][text|OFF|ON]SQLTTITLE'Salary|Report'SQLBTITLE'Confidential'–设置报表头部.–设置报表尾部.23创建一个生成报表的脚本文件–1.创建SELECT语句命令.–2.保存SELECT命令到一个脚本文件.–3.将文件载入到一个编辑器.–4.在SELECT命令前面增加格式语句.–5.验证跟在SELECT语句后面的结束字符(;或者/)。–6.在SELECT语句后清除请除掉格式命令.–7.保存脚本文件.–8.键入“STARTfilename”来执行脚本.24使用替换变量,提示用户输入职位名称,查询出员工号,姓名,工资,部门号SQLSELECTempno,ename,deptno,job,salFROMempWHEREjob='&job_title';Entervalueforjob_title:SALESMANold1:SELECTempno,ename,deptno,job,salFROMempWHEREjob='&job_title'new1:SELECTempno,ename,deptno,job,salFROMempWHEREjob='SALESMAN'EMPNOENAMEDEPTNOJOBSAL---------------------------------------------------------------------------------------7499ALLEN30SALESMAN18607521WARD30SALESMAN10007654MARTIN30SALESMAN13757844TURNER30SALESMAN1650练习案例26预定义一个职位名称的一个变量,并在查询出员工号,姓名,工资,部门号select语句中使用预定义变量SQLACCEPTjobPROMPT'Providethejob:'Providethejob:SALESMANSQLSELECTempno,ename,deptno,job,salFROMempWHEREjob='&job';old1:SELECTempno,ename,deptno,job,salFROMempWHEREjob='&job'new1:SELECTempno,ename,deptno,job,salFROMempWHEREjob='SALESMAN'EMPNOENAMEDEPTNOJOBSAL---------------------------------------------------------------------------------------7499ALLEN30SALESMAN18607521WARD30SALESMAN10007654MARTIN30SALESMAN13757844TURNER30SALESMAN1650练习案例27
本文标题:Oracle数据库-SQL+PLSQL-Less07-使用-SQLPlus创建友好的输出
链接地址:https://www.777doc.com/doc-7976376 .html