Ver Mensaje Individual
  #2 (permalink)  
Antiguo 08/06/2013, 13:06
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Compatibilidad de código entre MySQL y SQLServer

Bueno, hay varias cosas que corregir:
1) Los corchetes ({}) no tienen uso en MySQL. No sirven para nada y si los usas generarán errores de sintaxis.
2) Todo nombre de columna que contenga caracteres especiales u operadores, debe ser escrito entre acentos graves (`).
3) Toda cadena de texto debe ser puesta entre apóstrofos (').
4) No confundir un apóstrofo (') con un acento grave (`). Son cosas diferentes.
5) Las comillas (") sólo se pueden usar como reemplazo de los acentos graves. Para ser usadas en textos hay que reconfigurar el modo del servidor.
5) Es preferible usar INNER JOIN y no los JOIN implícitos (la coma).
6) Ciertas clausulas y sintaxis propias de SQL Server no las entiende MySQL (de hecho tampoco las entienden otros DBMS). Evitalas.
7) Usa el manual de referencia... Eso es lo que hacemos todos al cambiar de DBMS.

Código MySQL:
Ver original
  1. CREATE DATABASE Divertirnos_SA;
  2. USE Divertirnos_SA;
  3.  DROP TABLE IF EXISTS Empleado;
  4.  DROP TABLE IF EXISTS Departamento;
  5.  
  6.  CREATE TABLE Empleado
  7.   (
  8.     Id_emp INTEGER NOT NULL,
  9.     Nom_emp VARCHAR(30),
  10.     Dir_emp VARCHAR(30),
  11.     EstadoC_emp VARCHAR(15),
  12.  
  13.    PRIMARY KEY (Id_emp)
  14.   );
  15.  
  16.  CREATE TABLE Departamento
  17.   (
  18.     Cod_dpto INTEGER NOT NULL,
  19.     Nom_dpto VARCHAR(30),
  20.  
  21.    PRIMARY KEY (Cod_dpto)
  22.   );
  23.  
  24.  INSERT INTO Empleado
  25.    VALUES (40, 'Luis Tovar', 'Cra 16 Bis N° 69-69', 'Soltero');
  26.  
  27.   INSERT INTO Empleado
  28.    VALUES (41, 'Felipe Castañeda', 'Tv 46 Sur N° 13-19', 'Viudo');
  29.  
  30.   INSERT INTO Empleado
  31.    VALUES (42, 'Johan Romero', 'Cll 30 N° 7-55', 'Casado');
  32.  
  33.   INSERT INTO Empleado
  34.    VALUES (43, 'Cristian Perez', 'Av 68 N° 26-01', 'Soltero');
  35.  INSERT INTO Departamento
  36.    VALUES (999, 'Seguridad');
  37.  
  38.   INSERT INTO Departamento
  39.    VALUES (998, 'Cocina');
  40.  
  41.   INSERT INTO Departamento
  42.    VALUES (997, 'Ventas');
  43.  
  44. SELECT Cod_evt, GastosS_evt, GastosI_evt FROM Evento ;
  45.  
  46. SELECT Valor_evt FROM Evento;
  47.  
  48. SELECT * FROM Cliente;
  49.  
  50. SELECT Id_emp, Nom_emp
  51. FROM Empleado,
  52.     # Esto es inentendible ¿Que se supone que hace?
  53.      Emp-Evt(vende),
  54.  
  55.      Evento
  56. WHERE Valor_evt>3000000;
  57.  
  58. SELECT Id_emp, Nom_emp, Dir_emp, EstadoC_emp, Telefono_emp
  59. FROM Empleado, Telefono_emp,
  60.     # Esto es inentendible. No lo he visto ni en el manual de SQL Server
  61.      Emp-TipoC(tiene)
  62.     # Esto es inentendible ¿Que se supone que hace?
  63.     Empleado.Id_emp= Emp-TipoC(tiene).Id_emp= Telefono_emp.Id_emp;
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 08/06/2013 a las 14:13