按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
Copyright (c) Oracle Corporation 1979; 1994。 All rights reserved。
Enter user…name: rplew
Enter password:
474
…………………………………………………………Page 475……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
输出
ERROR: ORA…01017: invalid username/password; logon denied
Enter user…name:
这个错误的原因是因为用户名或密码不正确 再试一次 如果还不成功 那么你的密
码已经变了 如果你确认你输入的用户名和密码是正确的 那么在你访问多个数据库时确
认你要联接的数据库是正确的
FROM Keyword Not Specified
输入
SQL》 @tblspc。sql
输出
SQL》 spool tblspc。lst
SQL》 set echo on
SQL》 set feedback on
SQL》 set pagesize 1000
SQL》 select substr(tablespace_name;1;15) a;
2 substrfile_name; 1;45) c; bytes
3 from sys。dba_data_files
4 order by tablespace_name;
substrfile_name; 1;45) c; bytes
*
ERROR at line 2:
ORA…00923: FROM keyword not found where expected
SQL》 spool off
SQL》
分析
这个错误容易让人误解 关键字 FROM 是有的 但是你在第二行的 SUBSTR 中缺了
一个括号 这个错误也可能是由于在 SELECT 语句中缺少列名导致的 如果在 SELECT 中
的列名之后没有逗号 那么查询的处理机制会认为没有 FROM 关键字 上边的语句可以更
475
…………………………………………………………Page 476……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
正如下
SQL》 select substr(tablespace_name;1;15) a;
2 substr(file_name;1;45) c; bytes
3 from sys。dba_data_files
4 order by tablespace_name;
Group Function Is Not Allowed Here
输入
SQL》 select count(last_name); first_name; phone_number
2 from employee_tbl
3 group by count(last_name); first_name; phone_number
4 /
输出
group by count(last_name); first_name; phone_number
*
ERROR at line 3:
ORA…00934: group function is not allowed here
SQL》
分析
与任何组函数一样 COUNT 不可能在 GROUP BY 子句中使用 你可能在 GROUP BY
子句中使用了列或不具备分组功能的函数 如 SUBSTR
技巧 COUNT 函数是在分组查询的执行段中使用的
上边的语句已经使用正确的语法更正了
SQL》 select count(last_name); first_name; phone_number
2 from employee_tbl
3 group by last_name; first_name; phone_number;
476
…………………………………………………………Page 477……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
Invalid Column Name
输入
SQL》 @tables。sql
输出
SQL》 spool tables。lst
SQL》 set echo on
SQL》 set feedback on
SQL》 set pagesize 1000
SQL》 select owner|| '。' || tablename
2 from sys。dba_tables
3 where owner = 'SYSTEM'
4 order by table_name
5 /
select owner|| '。' || tablename
*
ERROR at line 1:
ORA…00904: invalid column name
SQL》 spool off
SQL》
分析
在第 1 行中的 tablename 列名是不正确的 正确的列名是 table_name 下划线少了 如
果想看正确的列 应该使用 DESCRIBE 命令 这个错误也可能会由于在 SELECT 语句中用
错误的表名对列进行限制时产生
Missing Keyword
输入
SQL》 create view emp_view
2 select * from employee_tbl
477
…………………………………………………………Page 478……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
3 /
输出
select * from employee_tbl
*
ERROR at line 2:
ORA…00905: missing keyword
SQL》
分析
这里的语法是不正确的 当你在使用命令时语法与所要求的不一致会出现这种错误
如果你使用了命令的可选项 那么可以是这个选项需要确定的关键字 在这个例子中是缺
少了关键字 AS 正确的语句如下
SQL》 create view emp_view as
2 select * from employee_tbl
3 /
Missing Left Parenthesis
输入
SQL》 @insert。sql
输出
SQL》 insert into people_tbl values
2 '303785523'; 'SMITH'; 'JOHN'; 'JAY'; 'MALE'; '10…JAN…50')
3 /
'303785523'; 'SMITH'; 'JOHN'; 'JAY'; 'MALE'; '10…JAN…50')
*
ERROR at line 2:
ORA…00906: missing left parenthesis
SQL》
分析
在第 2 行中圆括号没有出现 正确的语法应该如下
478
…………………………………………………………Page 479……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
SQL》 insert into people_tbl values
2 ('303785523'; 'SMITH'; 'JOHN'; 'JAY'; 'MALE'; '10…JAN…50')
3 /
Missing Right Parenthesis
输入
SQL》 @tblspc。sql
输出
SQL》 spool tblspc。lst
SQL》 set echo on
SQL》 set feedback on
SQL》 set pagesize 1000
SQL》 select substr(tablespace_name;1;15 a;
2 substr(file_name; 1;45) c; bytes
3 from sys。dba_data_files
4 order by tablespace_name;
select substr(tablespace_name;1;15 a;
*
ERROR at line 1:
ORA…00907: missing right parenthesis
SQL》 spool off
SQL》
分析
在第 1 行的 SUBSTR 中缺少右括号 正确的语法如下
SQL》 select substr(tablespace_name;1;15) a;
2 substr(file_name;1;45) c; bytes
3 from sys。dba_data_files
4 order by tablespace_name;
479
…………………………………………………………Page 480……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
Missing ma
输入
SQL》 @ezinsert。sql
输出
SQL》 spool ezinsert。lst
SQL》 set echo on
SQL》 set feedback on
SQL》 insert into office_tbl values
2 ('303785523' 'SMITH'; 'OFFICE OF THE STATE OF INDIANA; ADJUTANT GENERAL')
3 /
('303785523' 'SMITH'; 'OFFICE OF THE STATE OF INDIANA; ADJUTANT GENERAL')
*
ERROR at line 2:
ORA…00917: missing ma
SQL》 spool off
SQL》
分析
在第 2 行的 SMITH 与安全数字之间缺了逗号