这个是sqlserver的触发器CREATE TRIGGER InsertT_rule ON t_rule_ga
AFTER INSERT AS DECLARE @Prefix CHAR(2)
DECLARE @strMaxValue VARCHAR(10)
DECLARE @intMaxValue INT
DECLARE @ID VARCHAR(10) SET @Prefix = 'GA' --前缀
SET @intMaxValue = (SELECT f_rule_num_con FROM t_config_ga WHERE f_num_con = 1) --到配置表取当前应该插入的值
SET @strMaxValue = CAST(@intMaxValue AS VARCHAR(8))
SELECT @ID =
CASE LEN(@strMaxValue)
WHEN 1 THEN @Prefix + '0000000' + @strMaxValue --生成新ID
WHEN 2 THEN @Prefix + '000000' + @strMaxValue
WHEN 3 THEN @Prefix + '00000' + @strMaxValue
WHEN 4 THEN @Prefix + '0000' + @strMaxValue
WHEN 5 THEN @Prefix + '000' + @strMaxValue
WHEN 6 THEN @Prefix + '00' + @strMaxValue
WHEN 7 THEN @Prefix + '0' + @strMaxValue
WHEN 8 THEN @Prefix + @strMaxValue
END UPDATE t_rule_ga SET f_num_rul = @ID WHERE f_num_rul = '0000000000'
UPDATE t_config_ga SET f_rule_num_con = @intMaxValue + 1 WHERE f_num_con = 1
go
非常感谢,百分送上~~~
AFTER INSERT AS DECLARE @Prefix CHAR(2)
DECLARE @strMaxValue VARCHAR(10)
DECLARE @intMaxValue INT
DECLARE @ID VARCHAR(10) SET @Prefix = 'GA' --前缀
SET @intMaxValue = (SELECT f_rule_num_con FROM t_config_ga WHERE f_num_con = 1) --到配置表取当前应该插入的值
SET @strMaxValue = CAST(@intMaxValue AS VARCHAR(8))
SELECT @ID =
CASE LEN(@strMaxValue)
WHEN 1 THEN @Prefix + '0000000' + @strMaxValue --生成新ID
WHEN 2 THEN @Prefix + '000000' + @strMaxValue
WHEN 3 THEN @Prefix + '00000' + @strMaxValue
WHEN 4 THEN @Prefix + '0000' + @strMaxValue
WHEN 5 THEN @Prefix + '000' + @strMaxValue
WHEN 6 THEN @Prefix + '00' + @strMaxValue
WHEN 7 THEN @Prefix + '0' + @strMaxValue
WHEN 8 THEN @Prefix + @strMaxValue
END UPDATE t_rule_ga SET f_num_rul = @ID WHERE f_num_rul = '0000000000'
UPDATE t_config_ga SET f_rule_num_con = @intMaxValue + 1 WHERE f_num_con = 1
go
非常感谢,百分送上~~~
解决方案 »
- Centos5.4装9204快要疯了,哥被伤了,以后Linux要好好恶补才行
- 各位大侠 数据库之间怎么迁移数据呀 谢谢
- SQL 求助:对连续时间内的数据统计
- 这么多复杂view,怎么办?
- 求教该如何写oracle语句
- oracle与MS SQL SERVER2000的数据类型 转换关系
- 急急。。。存储过程返回值的问题???
- which version Oracle support Pro*C .
- 如何将oracle中的用户表还原成sql语句
- 关于ORACLE 8.16 的安装问题!
- 求最有效的实现方法
- 关于Oracle9i Application Server中的sing sign-on的功能.
AFTER INSERT AS Prefix CHAR(2);
strMaxValue VARCHAR(10);
intMaxValue INT;
ID VARCHAR(10);
bnegin Prefix := 'GA' ; --前缀
SELECT f_rule_num_con into intMaxValue FROM t_config_ga WHERE f_num_con = 1;
ID :=lpad(strMaxValue,8,'0');
UPDATE t_rule_ga SET f_num_rul = ID WHERE f_num_rul = '0000000000';
UPDATE t_config_ga SET f_rule_num_con = intMaxValue + 1 WHERE f_num_con = 1;
END;