正如下 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 与安?