SQLPLUS命令的使用大全[zt].doc_第1页
SQLPLUS命令的使用大全[zt].doc_第2页
SQLPLUS命令的使用大全[zt].doc_第3页
SQLPLUS命令的使用大全[zt].doc_第4页
SQLPLUS命令的使用大全[zt].doc_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2010年11月12日13:00SQL*PLUS命令的使用大全ztOracle的sql*plus是与oracle进行交互的客户端工具。在sql*plus中,可以运行sql*plus命令与sql*plus语句。 我们通常所说的DML、DDL、DCL语句都是sql*plus语句,它们执行完后,都可以保存在一个被称为sql buffer的内存区域中,并且只能保存一条最近执行的sql语句,我们可以对保存在sql buffer中的sql 语句进行修改,然后再次执行,sql*plus一般都与数据库打交道。 除了sql*plus语句,在sql*plus中执行的其它语句我们称之为sql*plus命令。它们执行完后,不保存在sql buffer的内存区域中,它们一般用来对输出的结果进行格式化显示,以便于制作报表。 下面就介绍一下一些常用的sql*plus命令: 1. 执行一个SQL脚本文件 SQLstart file_name SQL file_name 我们可以将多条sql语句保存在一个文本文件中,这样当要执行这个文件中的所有的sql语句时,用上面的任一命令即可,这类似于dos中的批处理。 2. 对当前的输入进行编辑 SQLedit 3. 重新运行上一次运行的sql语句 SQL/ 4. 将显示的内容输出到指定文件 SQL SPOOL file_name 在屏幕上的所有内容都包含在该文件中,包括你输入的sql语句。 5. 关闭spool输出 SQL SPOOL OFF 只有关闭spool输出,才会在输出文件中看到输出的内容。 6显示一个表的结构 SQL desc table_name 7. COL命令: 主要格式化列的显示形式。 该命令有许多选项,具体如下: COLUMN column|expr option . Option选项可以是如下的子句: ALIAS alias CLEAR FOLD_AFTER FOLD_BEFORE FORMAT format HEADING text JUSTIFY LEFT|CENTER|CENTRE|RIGHT LIKE expr|alias NEWLINE NEW_VALUE variable NOPRINT|PRINT NULL text OLD_VALUE variable ON|OFF WRAPPED|WORD_WRAPPED|TRUNCATED 1). 改变缺省的列标题 COLUMN column_name HEADING column_heading For example: Sqlselect * from dept; DEPTNO DNAME LOC - - - 10 ACCOUNTING NEW YORK sqlcol LOC heading location sqlselect * from dept; DEPTNO DNAME location - - - 10 ACCOUNTING NEW YORK 2). 将列名ENAME改为新列名EMPLOYEE NAME并将新列名放在两行上: Sqlselect * from emp Department name Salary - - - 10 aaa 11 SQL COLUMN ENAME HEADING Employee|Name Sqlselect * from emp Employee Department name Salary - - - 10 aaa 11 note: the col heading turn into two lines from one line. 3). 改变列的显示长度: FORMAT format Sqlselect empno,ename,job from emp; EMPNO ENAME JOB - - - 7369 SMITH CLERK 7499 ALLEN SALESMAN 7521 WARD SALESMAN Sql col ename format a40 EMPNO ENAME JOB - - - 7369 SMITH CLERK 7499 ALLEN SALESMAN 7521 WARD SALESMAN 4). 设置列标题的对齐方式 JUSTIFY LEFT|CENTER|CENTRE|RIGHT SQL col ename justify center SQL / EMPNO ENAME JOB - - - 7369 SMITH CLERK 7499 ALLEN SALESMAN 7521 WARD SALESMAN 对于NUMBER型的列,列标题缺省在右边,其它类型的列标题缺省在左边 5). 不让一个列显示在屏幕上 NOPRINT|PRINT SQL col job noprint SQL / EMPNO ENAME - - 7369 SMITH 7499 ALLEN 7521 WARD 6). 格式化NUMBER类型列的显示: SQL COLUMN SAL FORMAT $99,990 SQL / Employee Department Name Salary Commission - - - - 30 ALLEN $1,600 300 7). 显示列值时,如果列值为NULL值,用text值代替NULL值 COMM NULL text SQLCOL COMM NULL text . 设置一个列的回绕方式 WRAPPED|WORD_WRAPPED|TRUNCATED COL1 - HOW ARE YOU? SQLCOL COL1 FORMAT A5 SQLCOL COL1 WRAPPED COL1 - HOW A RE YO U? SQL COL COL1 WORD_WRAPPED COL1 - HOW ARE YOU? SQL COL COL1 WORD_WRAPPED COL1 - HOW A 9). 显示列的当前的显示属性值 SQL COLUMN column_name 10). 将所有列的显示属性设为缺省值 SQL CLEAR COLUMNS 8. 屏蔽掉一个列中显示的相同的值 BREAK ON break_column SQL BREAK ON DEPTNO SQL SELECT DEPTNO, ENAME, SAL FROM EMP WHERE SAL BREAK ON DEPTNO SKIP 1 SQL / DEPTNO ENAME SAL - - - 10 CLARK 2450 MILLER 1300 20 SMITH 800 ADAMS 1100 10. 显示对BREAK的设置 SQL BREAK 11. 删除6、7的设置 SQL CLEAR BREAKS 12. Set 命令: 该命令包含许多子命令: SET system_variable value system_variable value 可以是如下的子句之一: APPINFOON|OFF|text ARRAYSIZE 15|n AUTOCOMMITON|OFF|IMMEDIATE|n AUTOPRINT ON|OFF AUTORECOVERY ON|OFF AUTOTRACE ON|OFF|TRACEONLY EXPLAIN STATISTICS BLOCKTERMINATOR .|c CMDSEP ;|c|ON|OFF COLSEP _|text COMPATIBILITYV7|V8|NATIVE CONCAT .|c|ON|OFF COPYCOMMIT 0|n COPYTYPECHECK ON|OFF DEFINE &|c|ON|OFF DESCRIBE DEPTH 1|n|ALLLINENUM ON|OFFINDENT ON|OFF ECHO ON|OFF EDITFILE file_name.ext EMBEDDED ON|OFF ESCAPE |c|ON|OFF FEEDBACK 6|n|ON|OFF FLAGGER OFF|ENTRY |INTERMEDIATE|FULL FLUSH ON|OFF HEADING ON|OFF HEADSEP |c|ON|OFF INSTANCE instance_path|LOCAL LINESIZE 80|n LOBOFFSET n|1 LOGSOURCE pathname LONG 80|n LONGCHUNKSIZE 80|n MARKUP HTML ON|OFF HEAD text BODY text ENTMAP ON|OFF SPOOL ON|OFF PREFORMAT ON|OFF NEWPAGE 1|n|NONE NULL text NUMFORMAT format NUMWIDTH 10|n PAGESIZE 24|n PAUSE ON|OFF|text RECSEP WRAPPED|EACH|OFF RECSEPCHAR _|c SERVEROUTPUT ON|OFF SIZE n FORMAT WRAPPED|WORD_ WRAPPED|TRUNCATED SHIFTINOUT VISIBLE|INVISIBLE SHOWMODE ON|OFF SQLBLANKLINES ON|OFF SQLCASE MIXED|LOWER|UPPER SQLCONTINUE |text SQLNUMBER ON|OFF SQLPREFIX #|c SQLPROMPT SQL|text SQLTERMINATOR ;|c|ON|OFF SUFFIX SQL|text TAB ON|OFF TERMOUT ON|OFF TIME ON|OFF TIMING ON|OFF TRIMOUT ON|OFF TRIMSPOOL ON|OFF UNDERLINE -|c|ON|OFF VERIFY ON|OFF WRAP ON|OFF 1). 设置当前session是否对修改的数据进行自动提交 SQLSET AUTOCOMMIT ON|OFF|IMMEDIATE| n 2)在用start命令执行一个sql脚本时,是否显示脚本中正在执行的SQL语句 SQL SET ECHO ON|OFF 3).是否显示当前sql语句查询或修改的行数 SQL SET FEEDBACK 6|n|ON|OFF 默认只有结果大于6行时才显示结果的行数。如果set feedback 1 ,则不管查询到多少行都返回。当为off 时,一律不显示查询的行数 4).是否显示列标题 SQL SET HEADING ON|OFF 当set heading off 时,在每页的上面不显示列标题,而是以空白行代替 5).设置一行可以容纳的字符数 SQL SET LINESIZE 80|n 如果一行的输出内容大于设置的一行可容纳的字符数,则折行显示。 6).设置页与页之间的分隔 SQL SET NEWPAGE 1|n|NONE 当set newpage 0 时,会在每页的开头有一个小的黑方框。 当set newpage n 时,会在页和页之间隔着n个空行。 当set newpage none 时,会在页和页之间没有任何间隔。 7).显示时,用text值代替NULL值 SQL SET NULL text .设置一页有多少行数 SQL SET PAGESIZE 24|n 如果设为0,则所有的输出内容为一页并且不显示列标题 9).是否显示用DBMS_OUTPUT.PUT_LINE包进行输出的信息。 SQL SET SERVEROUTPUT ON|OFF 在编写存储过程时,我们有时会用dbms_output.put_line将必要的信息输出,以便对存储过程进行调试,只有将serveroutput变量设为on后,信息才能显示在屏幕上。 dbms_output.put_line会吃掉最前面的空格?在set serveroutput on后加上format wrapped参数!10).当SQL语句的长度大于LINESIZE时,是否在显示时截取SQL语句。 SQL SET WRAP ON|OFF 当输出的行的长度大于设置的行的长度时(用set linesize n命令设置),当set wrap on时,输出行的多于的字符会另起一行显示,否则,会将输出行的多于字符切除,不予显示。 11).是否在屏幕上显示输出的内容,主要用与SPOOL结合使用。 SQL SET TERMOUT ON|OFF 在用spool命令将一个大表中的内容输出到一个文件中时,将内容输出在屏幕上会耗费大量的时间,设置set termspool off后,则输出的内容只会保存在输出文件中,不会显示在屏幕上,极大的提高了spool的速度。 12).将SPOOL输出中每行后面多余的空格去掉 SQL SET TRIMSOUT ON|OFF 13)显示每个sql语句花费的执行时间 set TIMING ON|OFF 14修改sql buffer中的当前行中,第一个出现的字符串 CHANGE /old_value/new_value SQL l 1* select * from dept SQL c/dept/emp 1* select * from emp 15编辑sql buffer中的sql语句 EDIT 16显示sql buffer中的sql语句,list n显示sql buffer中的第n行,并使第n行成为当前行 LIST n 17在sql buffer的当前行下面加一行或多行 INPUT 18将指定的文本加到sql buffer的当前行后面 APPEND SQL select deptno, 2 dname 3 from dept; DEPTNO DNAME - - 10 ACCOUNTING 20 RESEARCH 30 SALES 40 OPERATIONS SQL L 2 2* dname SQL a ,loc 2* dname,loc SQL L 1 select deptno, 2 dname,loc 3* from dept SQL / DEPTNO DNAME LOC - - - 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON 19将sql buffer中的sql语句保存到一个文件中 SAVE file_name 20将一个文件中的sql语句导入到sql buffer中 GET file_name 21再次执行刚才已经执行的sql语句 RUN or / 22执行一个存储过程 EXECUTE procedure_name 23在sql*plus中连接到指定的数据库 CONNECT user_name/passwddb_alias 24设置每个报表的顶部标题 TTITLE 25设置每个报表的尾部标题 BTITLE 26写一个注释 REMARK text 27将指定的信息或一个空行输出到屏幕上 PROMPT text 28将执行的过程暂停,等待用户响应后继续执行 PAUSE text SqlPAUSE Adjust paper and press RETURN to continue. 29将一个数据库中的一些数据拷贝到另外一个数据库(如将一个表的数据拷贝到另一个数据库) COPY FROM database | TO database | FROM database TO database APPEND|CREATE|INSERT|REPLACE destination_table (column, column, column, .) USING query sqlCOPY FROM SCOTT/TIGERHQ TO JOHN/CHROMEWEST create emp_temp USING SELECT * FROM EMP 30不退出sql*plus,在sql*plus中执行一个操作系统命令: HOST Sql host hostname 该命令在windows下可能被支持。 31在sql*plus中,切换到操作系统命令提示符下,运行操作系统命令后,可以再次切换回sql*plus: ! sql! $hostname $exit sql 该命令在windows下不被支持。 32显示sql*plus命令的帮助 HELP 如何安装帮助文件: Sql ?sqlplusadminhelphlpbld.sql ?sqlplusadminhelphelpus.sql Sqlhelp index 33显示sql*plus系统变量的值或sql*plus环境变量的值 Syntax SHOW option where option represents one of the following terms or clauses: system_variable ALL BTITLE ERRORS FUNCTION|PROCEDURE|PACKAGE|PACKAGE BODY| TRIGGER|VIEW|TYPE|TYPE BODY LNO PARAMETERS parameter_name PNO RELEASE REPFOOTER REPHEADER SGA SPOOL SQLCODE TTITLE USER 1) . 显示当前环境变量的值: Show all 2) . 显示当前在创建函数、存储过程、触发器、包等对象的错误信息 Show error 当创建一个函数、存储过程等出错时,变可以用该命令查看在那个地方出错及相应的出错信息,进行修改后再次进行编译。 3) . 显示初始化参数的值: show PARAMETERS parameter_name 4) . 显示数据库的版本: show RELEASE 5) . 显示SGA的大小 show SGA 6). 显示当前的用户名 show user_xsb注:2.sql与2.sql的区别:比如在e:下sqlplus e:temp1.sql1.sql里的2.sql调用的脚本位于e:目下2.sql调用的脚本位于e:temp目录下。源文档 详细介绍ORACLEsqlplus命令 2010年11月12日13:02详细介绍ORACLEsqlplus命令 jxdco 一、Oracle的启动和关闭 1、在单机环境下要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a、启动ORACLE系统 oraclesvrmgrl SVRMGRconnect internal SVRMGRstartup SVRMGRquit b、关闭ORACLE系统 oraclesvrmgrl SVRMGRconnect internal SVRMGRshutdown SVRMGRquit 启动oracle9i数据库命令: $ sqlplus /nolog SQL*Plus: Release .0 - ProdUCtion on Fri Oct 31 13:53:53 2003 Copyright (c) 1982, 2002, Oracle Corporation.All rights reserved. SQL connect / as sysdba Connected to an idle instance. SQL startupC SQL startup ORACLE instance started. 2、在双机环境下要想启动或关闭ORACLE系统必须首先切换到root用户,如下 su root a、启动ORACLE系统 hareg y oracle b、关闭ORACLE系统 hareg n oracle Oracle数据库有哪几种启动方式 说明: 有以下几种启动方式: 1、startup nomount 非安装启动,这种方式启动下可执行:重建控制文件、重建数据库 读取init.ora文件,启动instance,即启动SGA和后台进程,这种启动只需要init.ora文件。 2、startup mount dbname 安装启动,这种方式启动下可执行: 数据库日志归档、 数据库介质恢复、 使数据文件联机或脱机, 重新定位数据文件、重做日志文件。 执行“nomount”,然后打开控制文件,确认数据文件和联机日志文件的位置, 但此时不对数据文件和日志文件进行校验检查。 3、startup open dbname 先执行“nomount”,然后执行“mount”,再打开包括Redo log文件在内的所有数据库文件, 这种方式下可访问数据库中的数据。 4、startup,等于以下三个命令 startup nomount alter database mount alter database open 5、startup restrict 约束方式启动 这种方式能够启动数据库,但只答应具有一定特权的用户访问 非特权用户访问时,会出现以下提示: ERROR: ORA-01035: ORACLE 只答应具有 RESTRICTED SESSION 权限的用户使用 6、startup force 强制启动方式 当不能关闭数据库时,可以用startup force来完成数据库的关闭 先关闭数据库,再执行正常启动数据库命令 7、startup pfile=参数文件名 带初始化参数文件的启动方式 先读取参数文件,再按参数文件中的设置启动数据库 例:startup pfile=E:Oracleadminoradbpfileinit.ora 8、startup EXCLUSIVE 二、用户如何有效地利用数据字典 ORACLE的数据字典是数据库的重要组成部分之一,它随着数据库的产生而产生, 随着数据库的变化而变化, 体现为sys用户下的一些表和视图。数据字典名称是大写的英文字符。 数据字典里存有用户信息、用户的权限信息、所有数据对象信息、表的约束条件、统计分析数据库的视图等。 我们不能手工修改数据字典里的信息。 很多时候,一般的ORACLE用户不知道如何有效地利用它。 dictionary全部数据字典表的名称和解释,它有一个同义词dict dict_column 全部数据字典表里字段名称和解释 假如我们想查询跟索引有关的数据字典时,可以用下面这条SQL语句: SQLselect * from dictionary where instr(comments,index)0; 假如我们想知道user_indexes表各字段名称的具体含义,可以用下面这条SQL语句: SQLselect column_name,comments from dict_columns where table_name=USER_INDEXES; 依此类推,就可以轻松知道数据字典的具体名称和解释,不用查看ORACLE的其它文档资料了。 下面按类别列出一些ORACLE用户常用数据字典的查询使用方法。 1、用户 查看当前用户的缺省表空间 SQLselect username,default_tablespace from user_users; 查看当前用户的角色 SQLselect * from user_role_privs; 查看当前用户的系统权限和表级权限 SQLselect * from user_sys_privs; SQLselect * from user_tab_privs; 2、表 查看用户下所有的表 SQLselect * from user_tables; 查看名称包含log字符的表 SQLselect object_name,object_id from user_objects where instr(object_name,LOG)0; 查看某表的创建时间 SQLselect object_name,created from user_objects where object_name=upper(&table_name); 查看某表的大小 SQLselect sum(bytes)/(1024*1024) as size(M) from user_segments where segment_name=upper(&table_name); 查看放在ORACLE的内存区里的表 SQLselect table_name,cache from user_tables where instr(cache,Y)0; 3、索引 查看索引个数和类别 SQLselect index_name,index_type,table_name from user_indexes order by table_name; 查看索引被索引的字段 SQLselect * from user_ind_columns where index_name=upper(&index_name); 查看索引的大小 SQLselect sum(bytes)/(1024*1024) as size(M) from user_segments where segment_name=upper(&index_name); 4、序列号 查看序列号,last_number是当前值 SQLselect * from user_sequences; 5、视图 查看视图的名称 SQLselect view_name from user_views; 查看创建视图的select语句 SQLset view_name,text_length from user_views; SQLset long 2000; 说明:可以根据视图的text_length值设定set long 的大小 SQLselect text from user_views where view_name=upper(&view_name); 6、同义词 查看同义词的名称 SQLselect * from user_synonyms; 7、约束条件 查看某表的约束条件 SQLselect constraint_name, constraint_type,search_condition, r_constraint_name from user_constraints where table_name = upper(&table_name); SQLselect c.constraint_name,c.constraint_type,cc.column_name from user_constraints c,user_cons_columns cc where c.owner = upper(&table_owner) and c.table_name = upper(&table_name) and c.owner = cc.owner and c.constraint_name = cc.constraint_name order by cc.position; 8、存储函数和过程 查看函数和过程的状态 SQLselect object_name,status from user_objects where object_type=FUNCTION; SQLselect object_name,status from user_objects where object_type=PROCEDURE; 查看函数和过程的源代码 SQLselect text from all_source where owner=user and name=upper(&plsql_name); 三、查看数据库的SQL 1、查看表空间的名称及大小 select t.tablespace_name, round(sum(bytes/(1024*1024),0) ts_size from dba_tablespaces t, dba_data_files d where t.tablespace_name = d.tablespace_name group by t.tablespace_name; 2、查看表空间物理文件的名称及大小 select tablespace_name, file_id, file_name, round(bytes/(1024*1024),0) total_space from dba_data_files order by tablespace_name; 3、查看回滚段名称及大小 select segment_name, tablespace_name, r.status, (initial_extent/1024) InitialExtent,(next_extent/1024) NextExtent, max_extents, v.curext CurExtent From dba_rollback_segs r, v$rollstat v Where r.segment_id = v.usn(+) order by segment_name ; 4、查看控制文件 select name from v$controlfile; 5、查看日志文件 select member from v$logfile; 6、查看表空间的使用情况 select sum(bytes)/(1024*1024) as free_space,tablespace_name from dba_free_space group by tablespace_name; SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTES FREE, (B.BYTES*100)/A.BYTES % USED,(C.BYTES*100)/A.BYTES % FREE FROM SYS.SM$TS_AVAIL A,SYS.SM$TS_USED B,SYS.SM$TS_FREE C WHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME AND A.TABLESPACE_NAME=C.TABLESPACE_NAME; 7、查看数据库库对象 select owner, object_type, status, count(*) count# from all_objects group by owner, object_type, status; 8、查看数据库的版本 Select version FROM Product_component_version Where SUBSTR(PRODUCT,1,6)=Oracle; 9、查看数据库的创建日期和归档方式 Select Created, Log_Mode, Log_Mode From V$Database;四、ORACLE用户连接的治理 用系统治理员,查看当前数据库有几个用户连接: SQL select username,sid,serial# from v$session; 假如要停某个连接用 SQL alter system kill session sid,serial#; 假如这命令不行,找它UNIX的进程数 SQL select pro.spid from v$session ses,v$process pro where ses.sid=21 and ses.paddr=pro.addr; 说明:21是某个连接的sid数 然后用 kill 命令杀此进程号。 五、SQL*PLUS使用 a、近入SQL*Plus $sqlplus 用户名/密码 退出SQL*Plus SQLexit b、在sqlplus下得到帮助信息 列出全部SQL命令和SQL*Plus命令 SQLhelp 列出某个特定的命令的信息 SQLhelp 命令名 c、显示表结构命令DESCRIBE SQLDESC 表名 d、SQL*Plus中的编辑命令 显示SQL缓冲区命令 SQLL 修改SQL命令 首先要将待改正行变为当前行 SQLn 用CHANGE命令修改内容 SQLc/旧/新 重新确认是否已正确 SQLL 使用INPUT命令可以在SQL缓冲区中增加一行或多行 SQLi SQL输入内容 e、调用外部系统编辑器 SQLedit 文件名 可以使用DEFINE命令设置系统变量EDITOR来改变文本编辑器的类型,在login.sql文件中定义如下一行 DEFINE_EDITOR=vi f、运行命令文件 SQLSTART test SQLtest 常用SQL*Plus语句 a、表的创建、修改、删除 创建表的命令格式如下: create table 表名 (列说明列表); 为基表增加新列命令如下: ALTER TABLE 表名 ADD (列说明列表) 例:为test表增加一列Age,用来存放年龄 sqlalter table test add (Age number(3)); 修改基表列定义命令如下: ALTER TABLE 表名 MODIFY (列名 数据类型) 例:将test表中的Count列宽度加长为10个字符 sqlalter atble test modify (County char(10)); b、将一张表删除语句的格式如下: DORP TABLE 表名; 例:表删除将同时删除表的数据和表的定义 sqldrop table test c、表空间的创建、删除 六、ORACLE逻辑备份的SH文件 完全备份的SH文件:eXP_comp.sh rq= date +%m%d su - oracle -c exp system/manager full=y inctype=complete file=/oracle/export/db_comp$rq.dmp 累计备份的SH文件:exp_cumu.sh rq= date +%m%d su - oracle -c exp system/manager full=y inctype=cumulative file=/oracle/export/db_cumu$rq.dmp 增量备份的SH文件: exp_incr.sh rq= date +%m%d su - oracle -c exp system/manager full=y inctype=incremental file=/oracle/export/db_incr$rq.dmp root用户crontab文件 /var/spool/cron/crontabs/root增加以下内容 0 2 1 * * /oracle/exp_comp.sh 30 2 * * 0-5 /oracle/exp_incr.sh 45 2 * * 6 /oracle/exp_cumu.sh 当然这个时间表可以根据不同的需求来改变的,这只是一个例子。 七、ORACLE 常用的SQL语法和数据对象 一.数据控制语句 (DML) 部分 1.INSERT(往数据表里插入记录的语句) INSERT INTO 表名(字段名1, 字段名2, ) VALUES ( 值1, 值2, ); INSERT INTO 表名(字段名1, 字段名2, )SELECT (字段名1, 字段名2, ) FROM 另外的表名; 字符串类型的字段值必须用单引号括起来, 例如: GOOD DAY 假如字段值里包含单引号 需要进行字符串转换, 我们把它替换成两个单引号. 字符串类型的字段值超过定义的长度会出错, 最好在插入前进行长度校验. 日期字段的字段值可以用当前数据库的系统时间SYSDATE, 精确到秒 或者用字符串转换成日期型函数TO_DATE(2001-08-01,YYYY-MM-DD) TO_DATE()还有很多种日期格式, 可以参看ORACLE DOC. 年-月-日 小时:分钟:秒 的格式YYYY-MM-DD HH24:MI:SS INSERT时最大可操作的字符串长度小于等于4000个单字节, 假如要插入更长的字符串, 请考虑字段用CLOB类型, 方法借用ORACLE里自带的DBMS_LOB程序包. INSERT时假如要用到从1开始自动增长的序列号, 应该先建立一个序列号 CREATE SEQUENCE 序列号的名称 (最好是表名+序列号标记) INCREMENT BY 1STARTWITH1 MAXVALUE99999CYCLENOCACHE; 其中最大的值按字段的长度来定, 假如定义的自动增长的序列号 NUMBER(6) , 最大值为999999 INSERT 语句插入这个字段值为: 序列号的名称.NEXTVAL 2.DELETE(删除数据表里记录的语句) DELETE FROM表名 WHERE 条件; 注重:删除记录并不能

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论