SQL*Plus 命令 - describe、variable、execute、spool
■执行参数 sqlplus.exe cxck/cxck | |_ 密码 |_ 用户名 ■连接命令 connect cxck/cxck@host名; | | |_ 数据库别名 | |_ 密码 |_ 用户名 ■结束命令 exit; ■显示模式表一览 select * from tab; ■显示表结构 describe t订货; |_ 表或者视图 ■执行SQL,执行PL/SQL,编译 start sqlfile; |_ SQL 文本文件(缺省后缀: .sql) @sqlfile; |_ SQL 文本文件(缺省后缀: .sql) ** 可指定文件路径。 @c:tmpsqlfile; @@pathsqlfile; |_ SQL 文本文件(缺省后缀: .sql) ** 和start一样执行SQL文件。 @ 不能定位嵌套的sql文本文件。 ■DOS中SQL*Plus执行SQL文本文件 sqlplus cxck/cxck@host名 @sqlfile | | | | | | | |_ SQL文本文件 | | |_ 数据库别名 | |_ 密码 |_ 用户名 ■显示错误 show errors; ■DBMS_OUTPUT 的设置 set serverout on; set serveroutput on size 1000000; |_ 缓存大小 缺省值 20000 最小値 2000 最大値 1000000 ■变量声明 variable 变量名 数据类型; variable vn number; variable vname varchar2(20); variable rc refcursor; var i number; ** 可省略var。 ■执行存储过程 exec SQL文; execute SQL文; execute :vname := 'abc'; execute :vn := TestFnc(10, 20, :vname, :rc); execute TestPrc(10, :vname); ■显示变量内容 print 变量名; print vn; print vname; ■把查询内容以文件形式地输出 spool 文件名; ... ... spool off; ■设置每页显示行数 set pagesize 20; |_ 行数 ■设置显示列数 set linesize 200; |_ 列数 ■ORA-xxxxx ORACLE错误码 ・例:通过sqlerrm(-xxxxx)查询ORA-02050的说明。 显示结果: ORA-02050: 事务处理2.85.206已重算,某些远程DBs 可能有问题。 var msg varchar2(200); execute :msg := sqlerrm(-2050); print msg; ■SQL*Loader ・导入CSV等文本格式的数据。 -- test.csv (数据文件) a001,10,20,30 b002,11,21,31 c003,12,22,32 -- test.ctl (控制文件) load data infile 'test.csv' append into table t测试 fields terminated by "," optionally enclosed 'n' trailing nullcols ( key, data1, data2, data3 ) -- sql*loader (命令) sqlldr userid=cxck/cxck control=test.ctl log=log.txt