-
一条SqlServer2000的触发器语句转换为mysql5.0的触发器语句10
以下是一条SqlServer2000的触发器语句,现希望转换成mysql5.0的触发器语句
该语句主要实现在Product表中插入一条记录时,将主键“Product_id”变成“CP001”、“CP002”.....的形式
,只要是能实现这个功能就行了!!!
CREATE trigger Product_id
on dbo.Product
instead OF insert
as
begin
declare @preStr varchar(10)
declare @tempID varchar(16)
declare @preTl varchar(2)
select * into #temptb from inserted
select @preTl=max(Product_id ) from inserted
set @preStr=@preTl
declare @sequNum int
select @tempID=max(Product_id ) from Product where Product_id like @preStr+'%'
if(@tempID is null)
set @sequNum=1
else
set @sequNum=cast(subString(@tempID,3,3) as int)+1
set @tempID=right('000'+cast(@sequNum as varchar),3)
set @tempID=@preStr+@tempID
update #temptb set Product_id =@tempID
insert into Product select * from #temptb
end
静候各位高手回音~!
问题补充:答案如下:
mysql>
mysql> delimiter |
mysql>
mysql> CREATE TRIGGER tr_t_product_bi BEFORE INSERT ON product
-> FOR EACH ROW BEGIN
-> declare max_id int;
->
-> select substring(max(product_id),3) into max_id from t_zqaq_520;
-> if max_id is null then
-> set max_id=0;
-> end if;
-> set max_id=max_id+1;
-> set new.product_id = concat('CP',right(10000+max_id,3));
-> END;
-> |
Query OK, 0 rows affected (0.05 sec)
mysql>
mysql> delimiter ;
2010年2月11日 18:21
2个答案 按时间排序 按投票排序
-
采纳的答案
create trigger update_product_primary_key before insert on Product for each row begin select count(*) into @count from Product; set new.Product_id =concat('CP',lpad(@count + 1,3,'0')); end;
2010年2月12日 15:04
-
create trigger update_product_primary_key before insert on Product for each row begin select count(*) into @count from Product; set new.Product_id = concat('CP000',@count + 1); end;
2010年2月12日 14:35
相关推荐
涉及到SQLServer2000、SQLServer2005、Access、Oracle10g、MySql5.0和Postgresql8.2等6种数据库语言,内容包括SQL语言基础、常规数据查询、高级数据过滤、字符串查询、日期函数、日期函数、数据排序、聚集函数与分组...
涉及到SQLServer2000、SQLServer2005、Access、Oracle10g、MySql5.0和Postgresql8.2等6种数据库语言,内容包括SQL语言基础、常规数据查询、高级数据过滤、字符串查询、日期函数、日期函数、数据排序、聚集函数与分组...
涉及到SQLServer2000、SQLServer2005、Access、Oracle10g、MySql5.0和Postgresql8.2等6种数据库语言,内容包括SQL语言基础、常规数据查询、高级数据过滤、字符串查询、日期函数、日期函数、数据排序、聚集函数与分组...
涉及到SQLServer2000、SQLServer2005、Access、Oracle10g、MySql5.0和Postgresql8.2等6种数据库语言,内容包括SQL语言基础、常规数据查询、高级数据过滤、字符串查询、日期函数、日期函数、数据排序、聚集函数与分组...
相对于其它非本地数据库,如Oracle、DB2、MS SQL Server、MySQL、PostgreSQL,Sqlite数据库具有小巧、速度快的优势。内部使用的Sqlite版本是3.2.5。本支持库将只为向后兼容而存在,不会再有版本升级,推荐使用...
相对于其它非本地数据库,如Oracle、DB2、MS SQL Server、MySQL、PostgreSQL,Sqlite数据库具有小巧、速度快的优势。目前使用的Sqlite版本是3.6.11,只要有可能,将随时跟踪并升级至Sqlite最新版本。数据库内部文本...
相对于其它非本地数据库,如Oracle、DB2、MS SQL Server、MySQL、PostgreSQL,Sqlite数据库具有小巧、速度快的优势。 目前使用的Sqlite版本是3.6.11,只要有可能,将随时跟踪并升级至Sqlite最新版本。 数据库内部...
实例173 SQL Server数据导入到MySQL数据库 266 实例174 Aceess数据导入到MySQL数据库 268 6.12 分页技术 270 实例175 查询结果的分页显示 271 实例176 单击页码跳转到指定页 272 实例177 输入页码跳转到...
实例142 将日期和时间转换为时间戳 170 实例143 获取系统中的特定日期和时间 171 实例144 比较时间的大小 172 实例145 计算考试时间 173 实例146 倒计时 173 实例147 网页闹钟 174 实例148 计算程序运行时间 176 第3...
实例142 将日期和时间转换为时间戳 170 实例143 获取系统中的特定日期和时间 171 实例144 比较时间的大小 172 实例145 计算考试时间 173 实例146 倒计时 173 实例147 网页闹钟 174 实例148 计算程序运行时间 176 第3...
在Framework1.0下同时连接SqlServer和Oracle的一些体会 XML XPath XPath最通俗的教程(ZZ) XPath中相对路径和绝对路径 XPath 简单语法 Asp.Net(C#)利用XPath解析XML文档示例 XSL .Net框架下的XSLT转换技术简介 一个...