点点滴滴(Oracle)
insert into
select * into t_dest from t_src; -- 要求目标表不存在
insert into t_dest(a, b) select a, b from t_src; -- 要求目标表已存在
动态SQL
execute immediate 'select ' || sq_serialnum || '.nextval from dual' into i_serialnum;
按照拼音,部首,笔画排序
下面的方法需要ORACLE9i和以上的版本才支持.
Oracle9i之前, 中文是按照二进制编码进行排序的.
在oracle9i中新增了按照拼音,部首,笔画排序功能. 设置NLS_SORT值
SCHINESE_RADICAL_M 按照部首(第一顺序),笔划(第二顺序)排序
SCHINESE_STROKE_M 按照笔划(第一顺序),部首(第二顺序)排序
SCHINESE_PINYIN_M 按照拼音排序, 系统的默认排序方式为拼音排序
select * from table_name order by nlssort(field_name, 'nls_sort=SCHINESE_STROKE_M');
取毫秒(oracle 9i +)
select to_char(systimestamp,'yyyy-mm-dd hh24:mi:ss.ff3') from dual;
like查询下划线本身
select * from test where columnname like 'a\_%' escape '\';
-- 表示将紧跟在escape字符后的字符解释为字符本身, 而非转义字符
日期减去一秒
select sysdate,sysdate - interval '1' second from dual;
修改表结构
alter table t_employee add (remark varchar2(50)); --增加列
alter table t_employee modify (sex default 0); --修改列的默认值
alter table t_employee modify (remark null); --修改列可为空
alter table t_employee rename to t_employee_new; --修改表名
&
相关文档:
oracle8i 驱动 ojdbc14.jar 这个驱动有问题,分页时要手动 写 rownum<m ,它自动成生的分页不正确,用的mysql的top m
Null value was assigned to a property of primitive 把entity中int类型改成Integer 库中不设置nullable
number(9) 的id 不能用Interger,得用BigDecimal,要不然取id时会报错 ......
产生表空间一般都是DBA或特权用户来完成的,如果要以其他的身份来产生,这个用户必须由Create tablespace权限才行。产生一个表空间时,一般需要产生一个数据文件,并确定文件的大小和段的大小。
产生一个表空间,确定数据文件,文件大小和区大小。
create tablespace date01 datafile d:\oracle\oradata\scut\date01.dbf ......
数据库之间的链接建立在DATABASE LINK上。要创建一个DB LINK,必须先在每个数据库服务器上设置链接字符串。
1、 配置TNS , $ORACLE_HOME/NETWORK/ADMIN/tnsname.ora
10gstandby =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = HFCC-KF-3068)(PORT = ......
insert into dts_auction_comments (id,auction_id,user_id,user_nick,comments,gmt_create,gmt_modified,status,comm_type)
values(409,127380, ......
1. 创建普通用户
>create user username identified by username;
>grant create tablespace, resource ,connect to username;
2. 创建表空间和用户
2.1 创建临时表空间
>create temporary tablespace DB_TEMP
tempfile '/opt/oracle/oradata/mydb/t ......