《SQL 21日自学通(V3.0)(PDF格式)》第148章


正如下 
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 与安?
小说推荐
返回首页返回目录