-
一条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
相关推荐
MySQL Server 5.0是MySQL数据库管理系统的一个重要版本,它在2005年发布,为全球用户提供了高效、稳定且功能丰富的数据存储解决方案。这个版本在MySQL的进化历程中扮演了关键角色,引入了许多新特性,提升了性能,并...
2. **触发器**:MySQL 5.0引入了触发器,允许用户在特定操作(如INSERT、UPDATE或DELETE)前后定义自动执行的SQL语句,以实现更复杂的业务逻辑。 3. **视图**:视图是一种虚拟表,它的数据来源于一个或多个表的查询...
MySQL Server 5.0 是一个历史悠久的开源关系型数据库管理系统,由MySQL AB公司开发,后来被Oracle公司收购。这个版本发布于2004年,是MySQL发展过程中的一个重要里程碑,引入了许多新特性并增强了性能和稳定性。 1....
MySQL 5.0是MySQL数据库管理系统的一个重要版本,专为Windows操作系统设计,提供高效、可靠的数据库服务。在本文中,我们将深入探讨MySQL 5.0的关键特性、安装过程以及与数据库相关的基础知识。 **1. MySQL简介** ...
MySQL 5.0是MySQL数据库管理系统的一个重要版本,对于JSP程序员来说,它是构建基于Java Web应用程序的关键组件。MySQL以其高效、稳定和开源的特性,成为开发者首选的数据库解决方案之一。在本文中,我们将深入探讨...
MySQL 5.0 是一个重要的版本更新,在此版本中引入了许多新功能,包括存储过程、触发器、视图、全文搜索等,这极大地增强了MySQL作为关系型数据库的能力。 #### 知识点二:安装准备与环境要求 在安装MySQL 5.0之前...
MySQL_v5.0是MySQL数据库管理系统的一个重要版本,它在2005年发布,带来了许多新特性和改进。...这些改进使得MySQL在与Oracle、SQL Server等商业数据库的竞争中占有一席之地,成为Web开发中的首选数据库之一。
MySQL5.0是MySQL数据库系统的一个较早版本,但其安装和配置过程对于初学者仍然具有参考价值。本文将深入探讨MySQL5.0的安装步骤、配置方法以及一些基础的数据库管理知识。 首先,安装MySQL5.0通常分为以下几个关键...
2. **触发器**:在MySQL 5.0中引入了触发器,允许开发者在特定事件(如INSERT、UPDATE或DELETE)发生时自动执行SQL语句,增强了数据库的逻辑控制。 3. **视图**:视图是虚拟表,由一个或多个查询结果组成,可以简化...
MySQL 5.0 for Windows是该压缩包的核心内容,它是一个流行的关系型数据库管理系统(RDBMS),在Windows操作系统环境下运行。MySQL以其高效、稳定和开源的特性在全球范围内被广泛应用于各种规模的企业和项目中。 ...
涉及到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语言基础、常规数据查询、高级数据过滤、字符串查询、日期函数、日期函数、数据排序、聚集函数与分组...
2. **触发器与存储过程**:MySQL 5.0开始支持触发器和存储过程,允许用户在数据库级别实现更复杂的业务逻辑,增强了数据库的灵活性和功能性。 3. **视图**:视图是虚拟表,可以简化复杂查询并提供安全层,隐藏底层...
涉及到SQLServer2000、SQLServer2005、Access、Oracle10g、MySql5.0和Postgresql8.2等6种数据库语言,内容包括SQL语言基础、常规数据查询、高级数据过滤、字符串查询、日期函数、日期函数、数据排序、聚集函数与分组...
本项目"自己构造MVC框架—sql语句在线编译器"是基于myeclipse7.0开发环境,利用MySql5.0作为数据库,并在Tomcat6.0服务器上运行的。下面我们将详细探讨这个项目的知识点。 1. MVC(Model-View-Controller)框架: ...
Oracle 10g、MySQL 5.0和SQL Server 2005是三种广泛使用的数据库管理系统,各有其特点和优势。而JDBC(Java Database Connectivity)是Java编程语言中用于与各种数据库进行交互的标准API。在本篇中,我们将详细探讨...
MySQL是世界上最受欢迎的开源关系...通过本MySQL 5.0中文教程,你可以全面了解并掌握MySQL的基础知识和高级特性,为实际项目中的数据库管理打下坚实的基础。在实践中不断探索和学习,将使你在数据库领域更加得心应手。
它支持多种数据库平台,包括但不限于Oracle、MySQL、SQL Server、PostgreSQL、SQLite等。DbVisualizer 5.0版本的发布带来了许多增强功能和改进,旨在提高数据库操作的效率和便捷性。以下是对DbVisualizer 5.0帮助...