spool off
两个默认生的文件在这:
20、oracle database 11g系统提供了两种类型的变量,即是临时变量和已定义的变量。accept temp number 9999 prompt '你好,输入一个empno值:'hide
关于日期:
SQL> accept rq date format yyyy-mm-dd prompt '请输入rq的值:';
请输入rq的值:1980-12-01
SQL> select empno,ename,hiredate
2 from emp
3 where hiredate>=&rq;
原值 3: where hiredate>=&rq
新值 3: where hiredate>=1980-12-01
where hiredate>=1980-12-01
*
第 3 行出现错误:
ORA-00932: 数据类型不一致: 应为 DATE, 但却获得 NUMBER
SQL> accept rq date format yyyy-mm-dd prompt '请输入rq的值:';
请输入rq的值:'1980-12-01'
SP2-0685: 日期"'1980-12-01'"无效或格式不匹配"yyyy-mm-dd"
请输入rq的值:1980-12-01
SQL> select empno,ename,hiredate
2 from emp
3 where hiredate>='&rq';
原值 3: where hiredate>='&rq'
新值 3: where hiredate>='1980-12-01'
where hiredate>='1980-12-01'
*
第 3 行出现错误:
ORA-01861: 文字与格式字符串不匹配
SQL> alter session set nls_date_format='yyyy-mm-dd';
会话已更改。
SQL> select empno,ename,hiredate
2 from emp
3 where hiredate>='&rq';
原值 3: where hiredate>='&rq'
新值 3: where hiredate>='1980-12-01'
EMPNO ENAME HIREDATE
---------- ---------- ----------
7369 SMITH 1980-12-17
7499 ALLEN 1981-02-20
7521 WARD 1981-02-22
7566 JONES 1981-04-02
7654 MARTIN 1981-09-28
7698 BLAKE 1981-05-01
7782 CLARK 1981-06-09
7788 SCOTT 1987-04-19
7839 KING 1981-11-17
7844 TURNER 1981-09-08
7876 ADAMS 1987-05-23
EMPNO ENAME HIREDATE
---------- ---------- ----------
7900 JAMES 1981-12-03
7902 FORD 1981-12-03
7934 MILLER 1982-01-23
已选择14行。
1、定义日期变和shiyong日期变量
SQL> accept rq date format yyyy-mm-dd prompt '请输入rq的值:';
请输入rq的值:1980-12-01
SQL> select empno,ename,hiredate
2 from emp
3 where hiredate>=&rq;
原值 3: where hiredate>=&rq
新值 3: where hiredate>=1980-12-01
from emp
*
第 2 行出现错误:
ORA-00942: 表或视图不存在
正确的做法:
alter session set nls_date_format='yyyy-mm-dd';
select empno,ename,hiredate
from scott.emp
where hiredate>='&rq'
/
2、设置一行显示多少字符:set linesize n
如果没有效果,可以在黑框中设置属性
3、null命令的使用:col comm(字段名称) null '没有奖金'
4、设置由text字符串指定的列标题:col empno heading '员工编号'
5、设置列容纳的字符:为[var]char类型的列内容设置宽度,如果
我的第一报表:
TTITLE LEFT '日期:'_date center'执行[scott.emp(职工表),sccott.dept(部门表)]'
btitle CENTER '-----谢谢使用该报表!----'skip 2 left '页:'format 999 sql.pno
set echo off
set verify off
set pagesize 22
set linesize 120
clear columns
col empno heading '员工编号' format 9999
col ename heading '员工姓名' format a10
col dname heading '部门姓名' format a10
col mgr heading '上级编号' format 9999
col hiredate heading '受雇日期' justify center
col sal heading '员工工资' format $999,999.99
select empno,dname,ename,dname,mgr,hiredate,sal
from scott.emp,scott.dept
where scott.emp.deptno=scott.dept.deptno;
clear columns
ttitle off
btitle off
将这个文件放在.sql文件中.
用@ 路径执行这个脚本文件