INSERT INTO dm_wszldl
(wszldl_dm, wszldl_mc, qybz)
values
(to_char (SELECT seq_ws_zldl.nextval FROM dual), '测试类别', 'Y')我想要从序列中获取数字作为记录的主键,但是主键类型是varchar(2),上面的语句怎么修改才能实现我要的功能
(wszldl_dm, wszldl_mc, qybz)
values
(to_char (SELECT seq_ws_zldl.nextval FROM dual), '测试类别', 'Y')我想要从序列中获取数字作为记录的主键,但是主键类型是varchar(2),上面的语句怎么修改才能实现我要的功能
(wszldl_dm, wszldl_mc, qybz)
values
(to_char(seq_ws_zldl.nextval), '测试类别', 'Y')
(wszldl_dm, wszldl_mc, qybz)
values
lpad(to_char(seq_ws_zldl.nextval),2,'0'), '测试类别', 'Y');
(wszldl_dm, wszldl_mc, qybz)
values
(to_char(seq_ws_zldl.nextval), '测试类别', 'Y')
根据数据库定义的长度
我支持这种:
INSERT INTO dm_wszldl
(wszldl_dm, wszldl_mc, qybz)
values
lpad(to_char(seq_ws_zldl.nextval),2,'0'), '测试类别', 'Y');
2是你数据库主键定义的长度
只不过你的主键类型是varchar2(2),当sequence超过2位数呢
2.
INSERT INTO dm_wszldl
(wszldl_dm, wszldl_mc, qybz)
values
(to_char (SELECT seq_ws_zldl.nextval FROM dual), '测试类别', 'Y')
修改为:
INSERT INTO dm_wszldl
(wszldl_dm, wszldl_mc, qybz)
SELECT to_char(seq_ws_zldl.nextval), '测试类别', 'Y' FROM dual;