些操作的知识。
1、关于自增id
(1)、在sqlserver中,使用identity表示,sql语句为:alter table 表名 add 列名 int
identity(1,1);在企业管理器中,可以手动改,修改字段类型为int,标识改成是,也可以实现。也
可使用select max(自增id的列名) 找出最大的。
(2)、在oracle中,使用sequence,每个表都建一个对应的sequence,插入数据时,id列使用
sequence名.nextval。
2、插入数据
(1)sqlserver中,例如
事务:
declare @n int insert into 表1 values(a,b); set @n=@@identity insert into 表2 values(@n,c,d); if @@ERROR = 0 begin commit transaction; end else begin rollback transaction; end
(2)Oracle中
begin transaction DECLARE n int; m int; select 表1序列.nextval into n from dual; select 表2序列.nextval into m from dual; int insert into 表1(id) values(n); insert into 表2(id) values(m); commit; exception when others then rollback; end;
oracle中序列不能赋值给变量,只能用select。oracle赋值:=。
3、关于时间的使用
(1)insert时间时,直接加单引号,将其当成字符串出错几率会小一些
(2) oracle中可以使用to_date函数转换。详见
http://blog.csdn.net/yysyangyangyangshan/article/details/6924279
4、oracle中的分页
SELECT FROM 表1 WHERE 条件1 AND 表1.ROWID IN (SELECT RID FROM (SELECT ROWNUM RN,RID FROM(SELECT ROWID RID,表1.id FROM BM_SUGGESTION c ORDER BY 表1.id DESC) WHERE ROWNUM<pageIndex * pageSize) WHERE RN>(pageIndex - 1) * pageSize) ORDER BY 表1.id DESC