SQL - Lenguaje Sql

 
Vista:
sin imagen de perfil
Val: 1
Ha disminuido su posición en 46 puestos en SQL (en relación al último mes)
Gráfica de SQL

Lenguaje Sql

Publicado por Mauricio (1 intervención) el 08/12/2016 20:39:36
Hola tengo el siguiente triggers para sql server y funciona bien, cuando lo inserto para mysql me da error alguien
sabe como seria para mysql gracias

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
create trigger impedirSolicitudes
on solicitudes
after insert
as
declare @estado int,@insertedid int, @mensaje varchar(100)
begin
select @insertedid=idSolicitudes from inserted;
if(@insertedid is not null)
begin
select @estado = idEstado from inserted
where idSolicitudes = @insertedid;
if @estado != 1
begin
set @mensaje = 'Las solicitudes recien ingresadas solo pueden estar en estado Nuevo';
raiserror (@mensaje, 16, 1);
rollback transaction;
return;
end;
end;
end;
insert into Solicitudes(identiCliente,fecha,textosolicitud,idDepartamento,idEmpleado,idEstado)Values('1111','2016/12/3','Devolucion','4','8','2'); si el idEstado es diferente a 1 no lo deja insertar
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 806
Bronce
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Lenguaje Sql

Publicado por leonardo_josue (1173 intervenciones) el 09/12/2016 17:07:54
Hola Mauricio:

En realidad sería muy raro que un trigger funcione en más de un DBMS ya que las sintaxis son completamente distintas entre cada una de ellas... Deberías comenzar por decirnos qué error es el que te está marcando MySQL, para a partir de ahí poder determinar en donde están los errores.

De entrada te comento lo siguiente:

1. Expresiones como RAISERROR no es compatible con MySQL por lo tanto debe marcar error. Su "equivalencia" sería SIGNAL pero con su propia sintaxis:

http://dev.mysql.com/doc/refman/5.5/en/signal.html

2. Los conceptos de Transacción, Rollback y Commit, también se manejan con una sintaxis distinta.

https://dev.mysql.com/doc/refman/5.5/en/commit.html

Investiga los conceptos propios de MySql, no esperes con poder copiar y pegar todo tu código de SQL Server...

Saludos
Leo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar