
嵌套一个select语句在values这里,把你要插入的一整列语句用一根select语句查询出来,再赋值给values里面的值。
按位置对应一下,batch在段在倒数第二位,所以那个地方直接引用序列。
Oracle 常用SQL语法和数据对象,字符串类型的字段值超过定义的长度会出错,最好在插入前进行长度校验。
日期字段的字段值可以用当前数据库的系统时间SYSDATE精确到秒。
INSERT时最大可 *** 作的字符串长度小于等于4000个单字节,方法借用ORACLE里自带的DBMS_LOB程序包。
insert into tonglu.tb_putoutconfirm(transfer_type,package_num,handledby,username,tms_service_code,batch,weight)values(?,?,?,?,?,tonglu.batch_seq.nextval,?)按位置对应一下,batch在段在倒数第二位,所以那个地方直接引用序列
其他你该怎么传参数还怎么传参数
Oracle不能再建表语句中实现自增的,需要借助sequence才能实现,,设置主键只需要在字段后面加primary key关键字即可create table servicelogs(
id number(8) primary key,
servicetype varchar(100),
outsys varchar(100),
methodname varchar(100),
methodresult varchar(200),
errormessage varchar(900),
inparameter varchar(900),
returncontent varchar(900),
logtime varchar(20)
)
创建序列号:
create sequence servicelogs_sequence
increment by 1 --步长,每次增加几
start with 1--从几开始,这里是1
nomaxvalue --不设置最大值
nocycle --一直累加,不循环
nocache--不建缓冲区
当然到此也可以结束,每次调用手动调用(序列名称.nextcal),但是这样比较麻烦,还是建立一个触发器
create or replace trigger servicelogs_trig before
insert on servicelogs for each row
begin
select servicelogs.nextval into new.id from dual
end
测试:
insert into servicelogs(servicetype)values('aaab')
select * from servicelogs
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)