34,590
社区成员
发帖
与我相关
我的任务
分享
CREATE TABLE #test
(
id INT IDENTITY ,
FormatId AS 'cp0001' + RTRIM(Id) ,
F1 VARCHAR(50)
)
GO
INSERT #test
( F1 )
SELECT '1'
UNION ALL
SELECT '2'
SELECT *
FROM #test
DROP TABLE #test
SQL>
SQL> create table test(id int, name varchar(30));
Table created
SQL> create sequence seq_test;
Sequence created
SQL> create trigger tri_test_ins
2 before insert ON test
3 for each row
4 begin
5 :new.name := 'PC' || lpad(seq_test.nextval , 4, '0');
6 end;
7 /
Trigger created
SQL> begin
2 insert into test(id) values(1);
3 insert into test(id) values(3);
4 insert into test(id) values(6);
5 end;
6 /
PL/SQL procedure successfully completed
SQL> select * from test;
ID NAME
--------------------------------------- ------------------------------
1 PC0001
3 PC0002
6 PC0003
SQL> drop table test purge;
Table dropped
SQL> drop sequence seq_test;
Sequence dropped
SQL>