Curso SQL. Triggers II Disparadores. Vídeo 21

แชร์
ฝัง
  • เผยแพร่เมื่อ 24 ต.ค. 2024

ความคิดเห็น • 166

  • @walterjosesuarezdelacruz1495
    @walterjosesuarezdelacruz1495 6 ปีที่แล้ว +48

    2018 y Píldoras Informáticas sigue siendo el mejor canal en enseñar cosas de la programación.

  • @emanuelvald
    @emanuelvald 8 ปีที่แล้ว +43

    Finalmente y luego de 15 días he llegado hasta el video 21, es el mejor curso de SQL que encontré en la web. Bien explicado, con ejemplos y ejercicios para practicar. Hoy seguiré con el de JAVA. Muchas gracias!!!

    • @pildorasinformaticas
      @pildorasinformaticas  8 ปีที่แล้ว +7

      +Emanuel Vald Gracias a ti por el comentario y por seguir mis vídeos. Un saludo

  • @jhonalexanderarizaduarte845
    @jhonalexanderarizaduarte845 2 ปีที่แล้ว +1

    Después de matarme la cabeza 3 meses encontre este curso 👏👏👏👏👍👍👍🤞🤞

  • @marchernandez8468
    @marchernandez8468 4 ปีที่แล้ว +3

    Min 3:31 la magia de los triggers, de 35 a 45!!! jajajajaj... Cuantísimas horas de preparación, y edición te debe llevar cada vídeo, madre mía!!! Como siempre BUENISIMA tu metodología, muchísimas, muchísimas gracias!! . Visto el curso de JAVA, php/mySQL y acabando este en 4 meses, que vicio aprender así!

  • @anthonyobregon6438
    @anthonyobregon6438 5 ปีที่แล้ว +7

    2019 y sigue siendo uno de los mejores

  • @anitaespinosa3224
    @anitaespinosa3224 3 ปีที่แล้ว

    Definitivamente son muy buenos tus tutoriales, deberías dedicarte al magisterio.

  • @oaz7628
    @oaz7628 4 ปีที่แล้ว +1

    Te Felicito. Tus cursos están EXCELENTEMENTE explicados, Valoro y Agradezco tu trabajo. Eres un GRAN PROFE.

  • @marloncode
    @marloncode ปีที่แล้ว

    Sorprendente amigo.. eres un genio, despues de aos aprendi !

  • @santiagooliva4515
    @santiagooliva4515 2 ปีที่แล้ว

    Contigo aprendi a programar y ahora en sexto semestre me sigues ayudando un saludo

  • @LuisMartinez-ei4ek
    @LuisMartinez-ei4ek 4 ปีที่แล้ว

    Excelente curso, la forma que tienes de enseñar es la mejor, tienes un don para esto, muchas felicidades por lo que estás haciendo. Continúa así.

  • @wgmorenoh
    @wgmorenoh 5 ปีที่แล้ว +1

    Profe, Minuto 22:55, tuve muchos errores al realizar esta actualización y leyendo los comentarios de varios compañeros abajo, creo que el problema está con el tipo de los campos, en la tabla que yo tengo de productos, todos los campos son Varchar y por eso no me actualizaba el precio, ni nada, los deje iguales y ahí me funcionó el trigger, gracias.

  • @newentu
    @newentu 4 ปีที่แล้ว

    EXCELENTE MAESTRO,ESTOY APRENDIENDO MUCHO CON USTED, GRACIASSSS!!

  • @jesusr.5208
    @jesusr.5208 4 ปีที่แล้ว

    Muy buenos videos Juan, de lo mejorcito que hay para aprender, explicas muy bien y se nota que te trabajas cada video, sabes comunicar y llegar al alumno, gracias por todo tu trabajo.

  • @djaquesparochihti7691
    @djaquesparochihti7691 8 ปีที่แล้ว +1

    GRACIAS POR LA EXPLICACION MAGISTRAL DE LOS TRIGERS

    • @pildorasinformaticas
      @pildorasinformaticas  8 ปีที่แล้ว

      +djaquesparo Chihti Gracias a ti por seguir mis vídeos. Un saludo

  • @lyzeofkiel8441
    @lyzeofkiel8441 4 ปีที่แล้ว

    Excelente video, me gusta la forma que explicas los temas. Saludos

  • @eiaeiata3767
    @eiaeiata3767 8 ปีที่แล้ว +1

    Muchas Gracias por su consejo!!
    Gracias a usted, me concentré encontrar la diferencia entre las tablas, y ya no en el código.
    Encontré que el cotejamiento de la tabla la PRODUCTOS la tengo en utf8_general_ci y que en la tabla PRODUCTOS_ACTUALIZADOS el tipo de cotejamiento era latin1_swedish_ci, por lo que cambie el cotejamiento de las tablas PRODUCTOS_ACTUALIZADOS a utf8_general_ci
    e incremente la longitud de sus campos de VARCHAR (15) a VARCHAR(30) y quedo perfecto!!
    Otro asunto, lo felicito por su curso de Android
    Sé que será un éxito y le mando un fuerte abrazo, aprovecho para recomendar su curso puesto que el de JAVA es el mejor que he conocido!!
    Así que suerte y Gracias x todo. Saludos desde México.

    • @pildorasinformaticas
      @pildorasinformaticas  8 ปีที่แล้ว +1

      +eia eiata Pues muchas gracias por el comentario y por seguir mis vídeos. Un cordial saludo

  • @yurisalazar6752
    @yurisalazar6752 5 หลายเดือนก่อน

    Hola Juan, muy buena explicacion, en el video anterior prometistes hablar sobre los trigger de varios registros "STATEMENTS", al final no vi ningun ejemplo en ninguno de los 25 videos.

  • @CaminosCosmicos
    @CaminosCosmicos 4 ปีที่แล้ว +2

    2020 y sigues siendo un crack! Gracias.

  • @edissonsantos6557
    @edissonsantos6557 4 ปีที่แล้ว

    pffff de lo mejor que pude encontrar

  • @luisrafaelmartinezangulo6950
    @luisrafaelmartinezangulo6950 5 ปีที่แล้ว

    Exelentes videos, en verdad explicas muy bien te animo a que sigas haciendolo ya que muchos como yo lo necesitamos, felicidades y exitos eres el mejor.

  • @bitnetsoftgpl
    @bitnetsoftgpl 8 ปีที่แล้ว +1

    Excelente video, gracias, muy bueno la opción de Triggers para utilizarlos en nuestras bases de datos.

  • @yakaroyakaro
    @yakaroyakaro 3 ปีที่แล้ว

    Super claro ..mil gracias

  • @inaxioasensio
    @inaxioasensio 7 ปีที่แล้ว +5

    Hola Juan, en el minuto 23:40 comentas que F_MODIF no muestra la hora por que el campo es demasiado estrecho. Creo que la fecha no te sale porque creaste el campo con el tipo DATE, para que te registre la fecha y hora se debería de usar el tipo de dato DATETIME. Un saludo y gracias por los videos.

    • @pildorasinformaticas
      @pildorasinformaticas  7 ปีที่แล้ว

      Gracias por el aviso. Si tengo tiempo lo revisaré e incluiré un comentario en el vídeo. Un saludo!!

    • @JuanSpain
      @JuanSpain 5 ปีที่แล้ว

      Cierto, para fecha y hora DATETIME.

  • @Sheyk871
    @Sheyk871 7 ปีที่แล้ว +2

    Espectacular, maravilloso para auditoria

  • @adriancordova1618
    @adriancordova1618 2 ปีที่แล้ว

    Excelente !!! mil gracias !!! 🙂

  • @diegodiaz9307
    @diegodiaz9307 4 ปีที่แล้ว

    2020 y sigue siendo el mejor!

  • @lewisv9439
    @lewisv9439 8 ปีที่แล้ว +2

    Buenísimo video...
    ¡ que bueno los triggers wow....!
    Gracias Crack!!!!

  • @felipearamburu3957
    @felipearamburu3957 4 ปีที่แล้ว

    Excelente curso!
    Muchas gracias!

  • @gtsasuke222
    @gtsasuke222 6 ปีที่แล้ว +2

    Disculpa puedo obtener el nombre de la tabla y que tipo fue el tigger ? Por ejemplo hacer una bitácora con todos los movimientos en la bd?

  • @richardduarte5148
    @richardduarte5148 6 ปีที่แล้ว +2

    Buenas noches, amigo que aplicación usas para explicar el video, ya que veo que usas un apuntador y me pareció interesante. Gracias

  • @roys90lan
    @roys90lan 6 ปีที่แล้ว +2

    1 semana en mi colegio aprendiendo de Triggers y sinceramente no aprendí nada, con éste curso de dos vídeos en menos de 1 hora he comprendido los triggers jaja xD

  • @oskar20086
    @oskar20086 5 ปีที่แล้ว +1

    Excelente curso

  • @juancarlosortega7278
    @juancarlosortega7278 4 ปีที่แล้ว

    Excelente explicación 👏

  • @ramiromoreno9581
    @ramiromoreno9581 4 ปีที่แล้ว

    2020 1:30 y aqui aprendiendo , gracias profesor

  • @franciscocavieres426
    @franciscocavieres426 6 ปีที่แล้ว +1

    Gracias, muy bien explicado.

  • @Edwin_Rey
    @Edwin_Rey 3 ปีที่แล้ว

    Que bueno seria un curso de PL-SQL eso si que abre puertas en el campo laboral.

  • @odooplay
    @odooplay 8 ปีที่แล้ว +33

    CREATE TABLE PRODUCTOS_ACTUALIZADOS (
    ANTERIOR_CÓDIGOARTÍCULO VARCHAR(4),
    ANTERIOR_NOMBREARTÍCULO VARCHAR(25),
    ANTERIOR_SECCIÓN VARCHAR(15),
    ANTERIOR_PRECIO INT(4),
    ANTERIOR_IMPORTADO VARCHAR(15),
    ANTERIOR_PAÍSDEORIGEN VARCHAR(15),
    ANTERIOR_FECHA DATE,
    NUEVO_CÓDIGOARTÍCULO VARCHAR(4),
    NUEVO_NOMBREARTÍCULO VARCHAR(15),
    NUEVO_SECCIÓN VARCHAR(15),
    NUEVO_PRECIO INT(4),
    NUEVO_IMPORTADO VARCHAR(15),
    NUEVO_PAÍSDEORIGEN VARCHAR(15),
    NUEVO_FECHA DATE)

  • @xtremeh
    @xtremeh 3 ปีที่แล้ว

    Hola, muy buena explicación. Ahora me surge una pregunta. Cómo puedo hacer una consulta o query que me diga los datos modificados de un registro en particular. Por ejemplo: Se modificó un producto, y de ese producto, quiero saber cuales datos se modificaron. Extraer esa información de la tabla que hace la copia de los datos registrados por el trigger. Un saludo, y gracias de antemano.

  • @alejandrosierra9258
    @alejandrosierra9258 4 ปีที่แล้ว

    Hola,estaría bien que dada la particularidad y el gran uso de las empresas de SQL Server, pudieses dar especialmente las clases de procedimientos,triggers y vistas enfocado a sql server.
    Otra propuesta es que pudieses anexar nuevos videos sobre el tratado de sql con variables .
    Gracias

  • @quiqueruiz5836
    @quiqueruiz5836 4 ปีที่แล้ว

    Hola buenas tardes he aprendido mucho contigo SQL y ya me queda poco, me gustaría saber si tienes pensado hacer un curso de pl/sql ya que cada vez lo están pidiendo más empresas, gracias por compartir tus conocimientos.

  • @respe12
    @respe12 7 ปีที่แล้ว +1

    Disculpe profesor, no sería lo mismo en el ejercicio del minuto 12:00 poner AFTER UPDATE en lugar de BEFORE UPDATE?
    Yo puse AFTER UPDATE y me dio bien los datos en la tabla

  • @PM-ld4nn
    @PM-ld4nn 3 ปีที่แล้ว

    No inserta root@localhost porque él haya hecho el UPDATE, sino porque el TRIGGER es quien ejecuta la inserción sobre la tabla de respaldo, y el trigger es de root. Así que no sé de momento la manera más sencilla de que de veras guarde el usuario que hizo el UPDATE.

  • @felipeabarzuamartinez7584
    @felipeabarzuamartinez7584 7 ปีที่แล้ว +2

    Profe una consulta : Si yo hice un cambio(UPDATE) a una tabla y los datos viejos los guardo en una tabla de respaldo ¿Comó puedo recuperar o devolver los datos respaldados a esa tabla ?

    • @pildorasinformaticas
      @pildorasinformaticas  7 ปีที่แล้ว

      Haciendo una consulta de datos anexados. Pero para poder hacer esto habría que ver si la tabla tiene campo clave, campos requeridos etc. Un saludo!!

  • @melomanoymelifluo7794
    @melomanoymelifluo7794 2 ปีที่แล้ว

    Gracias trigger ....AHORA YA SE A QUIEN DESPEDIR =D

  •  5 ปีที่แล้ว

    Buen Video. Una pregunata si quisiera hacer un TRIGGER de INSERT a una Tabla de otra Base de Datos, Como hago referencia a esa tabla ? Gracias

  • @CristianRomero-up1nj
    @CristianRomero-up1nj 6 ปีที่แล้ว

    Feliz Año nuevo

  • @confi5
    @confi5 6 ปีที่แล้ว +1

    Excelentes videos!

  • @antonysilvan9607
    @antonysilvan9607 7 ปีที่แล้ว

    Yeeeesss Porfin mi primer trigger

  • @kuma4824
    @kuma4824 4 ปีที่แล้ว

    la tabla PRODUCTOS_ARTICULOS, ¿no tiene PRIMARY KEY? no esta ligada a la tabla PRODUCTOS??...... o cuando se hacen copias, respaldos, registros, etc., se dejan las tablas sin relacion???????

  • @odooplay
    @odooplay 8 ปีที่แล้ว +1

    Profesor, con su permiso, añado las Query del video, por si ayuda a alguien. Muchas gracias por sus cursos.

  • @gerardoarciga2250
    @gerardoarciga2250 4 ปีที่แล้ว

    Muchas gracias!

  • @wilsonmosquera9697
    @wilsonmosquera9697 7 ปีที่แล้ว +1

    hola profe me gustan muchos sus videos tengo una pregunta hay alguna forma de dectetar que campo se a modificado en una tabla, para hacer un trigger que me indique el campo que se modifico y los valores anterior y nuevo muchas gracias!

    • @pildorasinformaticas
      @pildorasinformaticas  7 ปีที่แล้ว

      Hola !! que yo sepa no, no existe esa posibilidad. Pero siempre puedes guardar las acciones de los usuarios tal y como se enseña en los vídeos. De esta forma podrás saber si un usuario ha hecho cambios en un campo o no. Un saludo!!

  • @jfshaka86
    @jfshaka86 8 ปีที่แล้ว

    Buenas, primero que todo, muchas gracias por tus vídeos y la dedicación que le pones.
    Tengo una pregunta, he seguido el ejercicio pero me genera una duda en la parte de triggers para actualización, por ejemplo: al actualizar un producto que tiene un código de articulo, este se almacena en la tabla donde guardo información anterior, pero si vuelvo a modificar el mismo articulo se va a repetir el código del articulo en esa tabla y generará un error de llave primaria.
    Que me recomiendas para esta situación?
    Muchas gracias y sigue así.

  • @eiaeiata3767
    @eiaeiata3767 8 ปีที่แล้ว +1

    Hola profe Juan Gracias pro los Videos, realmente son muy buenos.
    Conforme a esta lección me queda una duda y es la siguiente:
    Ya cree la tabla con el código:
    CREATE TABLE PRODUCTOS_ACTUALIZADOS(
    ANTERIOR_CÓDIGOARTÍCULO VARCHAR(4), ANTERIOR_SECCIÓN VARCHAR(30),
    ANTERIOR_NOMBREARTÍCULO VARCHAR(30), ANTERIOR_PRECIO INT(4),
    ANTERIOR_IMPORTADO VARCHAR(15),ANTERIOR_PAISDEORIGEN VARCHAR(15),
    ANTERIOR_FECHA DATE,
    NUEVO_CÓDIGOARTÍCULO VARCHAR(4), NUEVO_SECCIÓN VARCHAR(30),
    NUEVO_NOMBREARTÍCULO VARCHAR(30),
    NUEVO_PRECIO INT(4), NUEVO_IMPORTADO VARCHAR(15),
    NUEVO_PAISDEORIGEN VARCHAR(15), NUEVO_FECHA DATE, USUARIO VARCHAR(15),
    F_MODIF DATE);
    Luego el TRIGGER con el código:
    CREATE TRIGGER PRODUCTOS_BU BEFORE UPDATE ON PRODUCTOS FOR EACH ROW INSERT INTO PRODUCTOS_ACTUALIZADOS(ANTERIOR_CÓDIGOARTÍCULO, ANTERIOR_SECCIÓN, ANTERIOR_NOMBREARTÍCULO, ANTERIOR_PRECIO,ANTERIOR_IMPORTADO, ANTERIOR_PAISDEORIGEN, ANTERIOR_FECHA, NUEVO_CÓDIGOARTÍCULO, NUEVO_SECCIÓN, NUEVO_NOMBREARTÍCULO,NUEVO_PRECIO, NUEVO_IMPORTADO, NUEVO_PAISDEORIGEN, NUEVO_FECHA, USUARIO, FECHA_MODIF) VALUES( OLD.`CÓDIGOARTÍCULO`,OLD.`SECCIÓN`, OLD.`NOMBREARTÍCULO`, OLD.`PRECIO`, OLD.`IMPORTADO`,OLD.`PAÍSDEORIGEN`, OLD.`FECHA`,NEW.`CÓDIGOARTÍCULO`, NEW.`SECCIÓN`, NEW,`NOMBREARTÍCULO`, NEW.`PRECIO`, NEW.`IMPORTADO`,NEW.`PAÍSDEORIGEN`,NEW.FECHA,CURRENT_USER(), NOW());
    Pero cuando ejecuto la consulta:
    UPDATE PRODUCTOS SET `PRECIO` = `PRECIO` + 20 WHERE `CÓDIGOARTÍCULO` = "AR07";
    PHPMyAdmin me lanza el error:
    Error
    consulta SQL:
    UPDATE `productos` PRECIO = PRECIO + 10 WHERE `CÓDIGOARTÍCULO` = "AR07"
    #1064 -
    Después de buscar un rato, me di cuenta de que si elimino el TRIGGER, puedo ejecutar la actualización sin problemas, pero si lo vuelvo a declarar me lanza el error descrito nuevamente.
    ¿Sabe ud. qué puede estar Pasando?
    Gracias por su amable atención

    • @pildorasinformaticas
      @pildorasinformaticas  8 ปีที่แล้ว

      +eia eiata Hola !! No veo error en tu código excepto las comillas de la sentencia Update, pero imagino que esto ha sido al copiar y pegar porque no tiene que ver con el error. Yo revisaría el nombre de los campos de la tabla Productos_Actualizados. El resto lo veo bien. Si sigues sin ver el error, no quedaría más remedio que volver a crear tanto la tabla nueva como el trigger esperando que se tratara de un error en algún nombre que estás pasando por alto. Un saludo

    • @Enrique_RomeroH
      @Enrique_RomeroH 8 ปีที่แล้ว

      +eia eiata Hola amigo encontré 3 errores en tú código del TRIGGER:
      Error 1. PAÍSDEORIGEN ( Debe llevar acento en PAÍS )
      Error 2. Pusiste NEW,`NOMBREARTÍCULO` ( No es coma[,] después del NEW es punto[.] )
      Error 3. Pusiste FECHA_MODIF ( Pero se llama F_MODIF )
      Intenta con el siguiente código del TRIGGER a ver si te funciona:
      CREATE TRIGGER PRODUCTOS_BU BEFORE UPDATE ON PRODUCTOS FOR EACH ROW INSERT INTO PRODUCTOS_ACTUALIZADOS(ANTERIOR_CÓDIGOARTÍCULO, ANTERIOR_SECCIÓN, ANTERIOR_NOMBREARTÍCULO, ANTERIOR_PRECIO,ANTERIOR_IMPORTADO, ANTERIOR_PAÍSDEORIGEN, ANTERIOR_FECHA, NUEVO_CÓDIGOARTÍCULO, NUEVO_SECCIÓN, NUEVO_NOMBREARTÍCULO,NUEVO_PRECIO, NUEVO_IMPORTADO, NUEVO_PAÍSDEORIGEN, NUEVO_FECHA, USUARIO, F_MODIF ) VALUES( OLD.CÓDIGOARTÍCULO,OLD.SECCIÓN, OLD.NOMBREARTÍCULO, OLD.PRECIO, OLD.IMPORTADO,OLD.PAÍSDEORIGEN, OLD.FECHA,NEW.CÓDIGOARTÍCULO, NEW.SECCIÓN, NEW.NOMBREARTÍCULO, NEW.PRECIO, NEW.IMPORTADO,NEW.PAÍSDEORIGEN,NEW.FECHA,CURRENT_USER(), NOW() )
      _____________
      Salu2.

    • @pildorasinformaticas
      @pildorasinformaticas  8 ปีที่แล้ว

      No recuerdo ya este código pero dime una cosa ¿por qué me funciona? Un saludo

    • @Enrique_RomeroH
      @Enrique_RomeroH 8 ปีที่แล้ว

      Así es profesor el código de la clase si funciona bien, me parece que los errores son en el código que intentó eia eiata​.
      Por cierto profe gracias por los cursos me han sido muy útiles. Salu2 desde México

    • @pildorasinformaticas
      @pildorasinformaticas  8 ปีที่แล้ว

      ahhhhh ok, no había visto la pregunta del compañero. Gracias !!

  • @richardo8058
    @richardo8058 4 ปีที่แล้ว

    En MySQL Workbench la fecha (en ANTERIOR_FECHA y NUEVA_FECHA) no la reconoce (sale: 000-00-00) tuve que cambiar el tipo de dato de date a varchar, y recién lo reconoció, pero no creo sea correcto, hay otra forma?

  • @erickramirez8683
    @erickramirez8683 6 ปีที่แล้ว

    Tengo una consulta esas estructuras sql funcionan así como en MYSQL en SQL ser ver y en Oracle o sólo Funcionan en MySql

  • @josuecarahuanco9658
    @josuecarahuanco9658 3 ปีที่แล้ว

    felicitaciones, una consulta: como se haria para guardar el id autogenerado de la tabla origina en otra tabla?

  • @freddydelgadillomolina9993
    @freddydelgadillomolina9993 8 ปีที่แล้ว +1

    gracias muy buen tuto

  • @cristianricardo590
    @cristianricardo590 2 ปีที่แล้ว

    Es posible que en vez de crear tantos vamos de anterior y nuevo se puede más bien que se tenga una estructura tipo ... |campo_modificado| valor_anterior | valor_nuevo| ... Identificado el nombre del campo que se modificó!?

  • @ramirovillena602
    @ramirovillena602 5 ปีที่แล้ว

    Hola, en el caso de hacer un triggeer que guarde la traza de un insert, el cual incluye hacer select join para crear una tabla de resumen de varias tablas, despues deñ for each row, puedo poner selects join para hacer finalmente el innsert en mi tabla resumen?

  • @rapj810327
    @rapj810327 8 ปีที่แล้ว +2

    Perfecta explicación, mi duda es donde puedo descargar o ver el codigo sql de la bbdd completa con las tablas

    • @pildorasinformaticas
      @pildorasinformaticas  8 ปีที่แล้ว +1

      El código SQL no lo tengo disponible para la descarga, pero la BBDD puedes descargarla de aquí en formato Access: www.pildorasinformaticas.es/archivos/accessbas/gestion_ejercicios.zip
      Un saludo!!

  • @yamirmeza9756
    @yamirmeza9756 4 ปีที่แล้ว

    muy buen video

  • @RainerGonzalezFreire
    @RainerGonzalezFreire 7 ปีที่แล้ว +1

    Hola juan una duda que quizas la tengan otros. En una aplicacion web por lo general creamos un archivo conexion.php y en el declaramos entre otras cosas el usuario y la contaseña con la que se comunica php a mysql ejemplo user root y contaseña 12345. En esos casos como podria hacer el trigger para identificar por ejemplo el id del usuario que esta en una tabla usuarios para almacenar ese id en la tabla donde se quiera almacenar que usuario hizo algún cambio en la bd. O de plano esa operacion habrá que hacerla desde php y prescindir de la utilidad que nos brinda el trigger. Como sería?

    • @pildorasinformaticas
      @pildorasinformaticas  7 ปีที่แล้ว

      He entendido que te refieres a detectar el usuario que ha entrado en una web para que quede registrado todas las modificaciones que haga ese usuario en la BBDD. En ese caso como bien dices, habría que hacerlo desde PHP utilizando sesiones por ejemplo (hay formas alternativas sin sesiones) junto con el uso de triggers en SQL. Es demasiado complejo para explicarlo por aquí, pero en mi curso de PHP explico cómo trabajar con sesiones. Un saludo!!

    • @RainerGonzalezFreire
      @RainerGonzalezFreire 7 ปีที่แล้ว +1

      Muchas gracias por tu respuesta y a proposito soy fan de tus videos muy buenos. Saludos

  • @JosealexisCruzSolar
    @JosealexisCruzSolar 8 ปีที่แล้ว +3

    porfa men sigue con los de sql, tengo fe en que se llegara a temas mas avanzados porfa

    • @pildorasinformaticas
      @pildorasinformaticas  8 ปีที่แล้ว +1

      +Jose alexis Cruz Solar Tengo poco tiempo libre ahora mismo, pero seguiré con ello en breve. Un saludo

    • @JosealexisCruzSolar
      @JosealexisCruzSolar 8 ปีที่แล้ว +1

      +pildorasinformaticas si le entiendo pero esque a mi parecer vale mas segir este curso ya que las bases de datos son fundamentales a la hora de crear un programa o aplicacion, de todos modos tomese su tiempo solo espero q se continue en lo que va del año jeje

    • @pildorasinformaticas
      @pildorasinformaticas  8 ปีที่แล้ว +4

      Sí, continuar siempre. nunca he dejado un curso a medias ni lo haré nunca. Un saludo

    • @frankogb17
      @frankogb17 8 ปีที่แล้ว

      +pildorasinformaticas ya me estaba empezando a preocupar por que no ha subido vidios

  • @alexanderaldana3926
    @alexanderaldana3926 6 ปีที่แล้ว

    Buen dia... Tengo una duda sobre la actualización. Como hago para saber que usuario ha realizado la actualización ? Osea no usar current_user si no un usuario que tenga en una tabla llamada usuarios.

  • @musicadedios9429
    @musicadedios9429 4 ปีที่แล้ว

    5:31 ESO SI ME INTERESA

  • @brayanandreyolartehernande4185
    @brayanandreyolartehernande4185 4 ปีที่แล้ว

    Estos videos aportan muchisimo muchas gracias por todo el contenido profe. ¿queria preguntarle si en su canal tiene otro curso de sql un poco mas avanzado?

    • @pildorasinformaticas
      @pildorasinformaticas  4 ปีที่แล้ว

      Gracias por el comentario. De momento no, no hay más cursos de SQL en mi canal. Un saludo!

  • @pepinoraider
    @pepinoraider 4 ปีที่แล้ว +6

    En SQL SERVER:
    CREATE TRIGGER ACTUALIZA_PRODUCTOS_BU ON PRODUCTOS AFTER UPDATE AS
    BEGIN SET NOCOUNT ON
    INSERT INTO PRODUCTOS_ACTUALIZADOS (ANTERIOR_CODIGO_ARTICULO, ANTERIOR_NOMBRE_ARTICULO, ANTERIOR_FECHA, ANTERIOR_IMPORTADO, ANTERIOR_PAISDEORIGEN, ANTERIOR_PRECIO, ANTERIOR_SECCION,
    NUEVO_CODIGO_ARTICULO,NUEVO_NOMBRE_ARTICULO, NUEVO_FECHA, NUEVO_IMPORTADO, NUEVO_PAISDEORIGEN, NUEVO_PRECIO, NUEVO_SECCION, USUARIO, F_MODIF)
    SELECT DELETED.CODIGO_ARTICULO, DELETED.NOMBRE_ARTICULO, DELETED.FECHA, DELETED.IMPORTADO, DELETED.PAISDEORIGEN, DELETED.PRECIO, DELETED.SECCION,
    INSERTED.CODIGO_ARTICULO, INSERTED.NOMBRE_ARTICULO, INSERTED.FECHA, INSERTED.IMPORTADO, INSERTED.PAISDEORIGEN, INSERTED.PRECIO, INSERTED.SECCION, CURRENT_USER, GETDATE()
    FROM INSERTED
    INNER JOIN DELETED ON INSERTED.CODIGO_ARTICULO = DELETED.CODIGO_ARTICULO
    END

  • @gabrielpulice330
    @gabrielpulice330 5 ปีที่แล้ว

    Hola Juan. Excelente el vídeo, voy a empezar a ver tus tutoriales. Te hago una consulta, solo para que me guíes, no para que hagas un vídeo al respecto. En el TRIGGER creado llamado ACTUALIZAR_PRODUCTOS_BU, hiciste que en la TABLA PRODUCTOS_ACTUALIZADOS se registre el usuario que realizo el cambio. Pero el usuario que se registra, obviamente es el de MYSQL. Mi consulta es, ¿cómo debería yo hacer para que el usuario que se registre sea el que ha iniciado session en PHP? ¿cual sería la mejor forma de hacerlo? Desde ya muchas gracias. Saludos. Gabriel

    • @pildorasinformaticas
      @pildorasinformaticas  5 ปีที่แล้ว

      Hola Gabriel. Pues explicarte esto en unas líneas de texto por aquí es casi imposible. debes capturar con PHP al sesión del usuario (en mi curso de PHP explico en detalle cómo hacer esto) y enviar esa información a la BBDD junto con el resto de la query. Un saludo!

    • @gabrielpulice330
      @gabrielpulice330 5 ปีที่แล้ว

      @@pildorasinformaticas Juan, excelente. Con ese comentario ya me guiaste, por lo que ya me respondiste. Muchas gracias por todo, como siempre.

  • @serafin8541
    @serafin8541 4 ปีที่แล้ว

    Profe... una coma... por una coma que no veia he estado toda la tarde dando y dando vueltas porque no iba.... puffff...
    Aprovecho para felicitarte y que de aqui sigo con python y despues con django... Dale fuerte que te adelanto, xDDDD

  • @claudiayanirinarvaezmotta9289
    @claudiayanirinarvaezmotta9289 7 ปีที่แล้ว +1

    hola profesor estoy siguiendo con usted todos los video pero en este ultimo ejercicio cuando voy hacer la actualizacion me sale un error #1054 Unknown column 'new' in fiel list y estoy haciendo los mismo que usted va explicando ya crea la tabla de los productos actualizados y el trigger pero cuando voy hacer la actualizacion me aparece este error. me puede ayudar por favor

    • @pildorasinformaticas
      @pildorasinformaticas  7 ปีที่แล้ว

      Hola !! Ese error está marcando que hay una columna nueva en tu instrucción SQL. Asegúrate de que has escrito el nombre de los campos exactamente igual a como los tienes en la BBDD. UN saludo!!

    • @claudiayanirinarvaezmotta9289
      @claudiayanirinarvaezmotta9289 7 ปีที่แล้ว +1

      ya esta solucionado

    • @dw_arnaldo
      @dw_arnaldo 3 ปีที่แล้ว

      Hola estoy viendo apenas el tuto y tengo el mismo problema que sale error en new y tengo exactamente el mismo nombre del campo, como lo solucionaste. Saludos.

  • @LucaVV1900
    @LucaVV1900 8 ปีที่แล้ว +1

    Hola, profesor
    Estoy haciendo la actualizando el precio del producto AR07 de la tabla productos. Pero me sale el siguiente mensaje de error update productos SET PRECIO = PRECIO + 20 WHERE CÓDIGOARTÍCULO = "AR07"
    MySQL ha dicho: Documentación
    #1366 - Incorrect integer value: 'CONFECCIÓN' for column 'ANTERIOR_PRECIO' at row 1
    No logro encontrar la solución a esto .Cuál puede ser el error ?
    Gracias

    • @pildorasinformaticas
      @pildorasinformaticas  8 ปีที่แล้ว

      Está mencionando el error el campo Confección y la verdad no se a qué se debe. Necesito que me copies y pegues por aquí todo el código de la instrucción SQL o del trigger en caso de que estés realizando un trigger. Un saludo!!

    • @LucaVV1900
      @LucaVV1900 8 ปีที่แล้ว

      INSERT INTO productos_actualizados (ANTERIOR_CÓDIGOARTÍCULO,ANTERIOR_FECHA,ANTERIOR_IMPORTADO,ANTERIOR_PAÍSDEORÍGEN,ANTERIOR_NOMBREARTÍCULO,ANTERIOR_PRECIO,ANTERIOR_SECCIÓN,NUEVO_CÓDIGOARTÍCULO,NUEVO_FECHA,NUEVO_IMPORTADO,NUEVO_PAÍSDEORÍGEN,NUEVO_NOMBREARTÍCULO,NUEVO_PRECIO,NUEVO_SECCIÓN,USUARIO,F_MODIF)
      VALUES
      (OLD.CÓDIGOARTÍCULO,OLD.FECHA, OLD.IMPORTADO,OLD.NOMBREARTÍCULO,OLD.PAÍSDEORIGEN,OLD.SECCIÓN,OLD.PRECIO,
      NEW.CÓDIGOARTÍCULO,NEW.FECHA,NEW.IMPORTADO,NEW.NOMBREARTÍCULO,NEW.PAÍSDEORIGEN,NEW.SECCIÓN,NEW.PRECIO,CURRENT_USER(),NOW())

    • @federicolucca2612
      @federicolucca2612 8 ปีที่แล้ว

      Tengo el mismo problema.

    • @federicolucca2612
      @federicolucca2612 8 ปีที่แล้ว

      UPDATE productos SET PRECIO=PRECIO+20 WHERE CÓDIGOARTÍCULO='AR07'
      Error
      consulta SQL:
      UPDATE productos SET PRECIO=PRECIO+20 WHERE CÓDIGOARTÍCULO='AR07'
      MySQL ha dicho: Documentación
      #1136 - Column count doesn't match value count at row 1

    • @federicolucca2612
      @federicolucca2612 8 ปีที่แล้ว +1

      Perdón ya lo resolví. Me había faltado agregar el valor NEW.CÓDIGOARTÍCULO en el Trigger. Por lo que entiendo no estaba insertando ningún dato en el campo NUEVO_CÓDIGOARTÍCULO.

  • @carlosg236
    @carlosg236 6 ปีที่แล้ว +1

    CÓDIGO DEL TRIGGER
    CREATE TRIGGER ACTUALIZA_PRODUCTO_BU BEFORE UPDATE ON productos FOR EACH ROW INSERT INTO productos_actualizados
    (ANTERIOR_CÓDIGOARTÍCULO, ANTERIOR_FECHA, ANTERIOR_IMPORTADO, ANTERIOR_NOMBREARTÍCULO, ANTERIOR_PAÍSDEORIGEN, ANTERIOR_PRECIO, ANTERIOR_SECCIÓN, NUEVO_CÓDIGOARTÍCULO, NUEVO_FECHA, NUEVO_IMPORTADO, NUEVO_NOMBREARTÍCULO, NUEVO_PAÍSDEORIGEN, NUEVO_PRECIO, NUEVO_SECCIÓN, USUARIO, F_MODIF) VALUES (OLD.CÓDIGOARTÍCULO, OLD.FECHA, OLD.IMPORTADO, OLD.NOMBREARTÍCULO, OLD.PAÍSDEORIGEN, OLD.PRECIO, OLD.SECCIÓN, NEW.CÓDIGOARTÍCULO, NEW.FECHA, NEW.IMPORTADO, NEW.NOMBREARTÍCULO, NEW.PAÍSDEORIGEN, NEW.PRECIO, NEW.SECCIÓN, CURRENT_USER(), NOW());

  • @rozoneri
    @rozoneri 8 ปีที่แล้ว +1

    Se puede ejecutar un trigger en la misma tabla que genera el evento?

    • @pildorasinformaticas
      @pildorasinformaticas  8 ปีที่แล้ว +1

      +Easylisimo Sí, de hecho así lo estamos haciendo. La tabla de productos es donde se genera el evento, y es en esta tabla donde se ejecuta el trigger. A lo mejor preguntas si se puede ejecutar un trigger en la tabla donde se guardan los registros creados por el trigger. La respuesta también es que sí. Un saludo

    • @rozoneri
      @rozoneri 8 ปีที่แล้ว

      pildorasinformaticas Gracias, es que sin mentirle hace unas semanas trato de aprender a crear triggers y estoy haciendo pruebas pero siempre me sale este mensaje: Can't update table 'pelicula' in stored function/trigger because it is already used by statement which invoked this stored function/trigger. el trigger pertenece a la misma tabla y actua sobre la misma tabla,si conociera cual es el problema se lo agradecería mucho,gracias por su atención.

    • @cimarron331
      @cimarron331 6 ปีที่แล้ว

      Logico porque la tabla entra en bloqueo al ejecutarse el trigger.

  • @excelguild
    @excelguild 8 ปีที่แล้ว +1

    Muy buen video gracias :)

  • @crixx231
    @crixx231 7 ปีที่แล้ว +1

    HOLA, no ejecutó la sentencia pues me salió esto

    • @pildorasinformaticas
      @pildorasinformaticas  7 ปีที่แล้ว

      Pon la instrucción SQL completa, a ver si localizo el posible error. Un saludo!!

    • @crixx231
      @crixx231 7 ปีที่แล้ว

      bueno; UPDATE PRODUCTOS SET PRECIO=PRECIO+20 WHERE `CÓDIGO ARTÍCULO`='AR07'
      esta es la sentencia exacta de como tengo configurada mi base de datos, siempre trabajo con espacios, así que no creo que ese sea el inconveniente. Gracias por tu ayuda !!!

    • @crixx231
      @crixx231 7 ปีที่แล้ว

      lo he probado haciendo actualización en varios campos y nada, ni en nombre artículo, país de origen etc...
      no recuerdo si hice esta clase de actualización en mysql o en access, porque quizás en mi versión de php my admin es diferente ...

  • @damianbajofer9169
    @damianbajofer9169 8 ปีที่แล้ว +1

    ¿Es posible que un solo trigger inserte datos en dos o mas tablas?, es que tengo un sistema de registro y para no bandear el servidor con php y ahorrar code, ps me gustaria poder hacerlo con estos triggers. saludos

    • @pildorasinformaticas
      @pildorasinformaticas  8 ปีที่แล้ว +1

      Claro que si. Solo habría que crear más instrucciones INSERT INTO en el mismo trigger. Un saludo!!

    • @damianbajofer9169
      @damianbajofer9169 8 ปีที่แล้ว +1

      Genial, gracias!

  • @CopyNinjaKH
    @CopyNinjaKH 8 ปีที่แล้ว

    Alguien podria ayudarme, soy nuevo con esto de las base de datos relaciones y los triggers, mi duda es la siguiente:
    Tengo 2 tablas relacionadas en donde tengo una "Clave" que comparten ambas tablas, y al momento de actualizar la "Clave" de la tabla principal me marca error, quisiera saber como al momento de actualizar la clave de la tabla principal tambien se actualice en la secundaria, ya lo intente con un trigger y no se puede u_u ayudenme

  • @robertocarlosbernalmorales3273
    @robertocarlosbernalmorales3273 6 ปีที่แล้ว

    disculpa y si quiero actualizar varios datos a la ves

  • @jesuv5875
    @jesuv5875 7 ปีที่แล้ว

    Juan cuando voy a hacer un update con una tabla que contiene una llave foranea como se puede hacer.
    por ejemplo tengo una tabla aseguramiento cuya llave externa es aseplaca proveniente de una tabla llamada automotores. Osea como puedo hacer alli. Estoy un poco quedado en una actividad por eso.
    create table auditoria_aseguramiento(
    id_audiaseguramiento int primary key auto_increment,
    audi_fecha_inicio_anterior date,
    audi_fecha_expiracion_anterior date,
    audi_valor_asegurado_anterior int,
    audi_estado_anterior varchar(10),
    audi_costo_anterior int,
    audi_fecha_inicio_nueva date,
    audi_fecha_expiracion_nueva date,
    audi_valor_asegurado_nuevo int,
    audi_estado_nuevo varchar(10),
    audi_costo_nuevo int,
    audi_fecha_modificacion datetime,
    audi_usuario varchar(30),
    audi_codigo_aseguramiento int not null,
    audi_accion varchar(50));
    create trigger actualizacion_aseguramiento before update on aseguramiento for each row
    insert into auditoria_aseguramiento(audi_fecha_inicio_anterior,audi_fecha_expiracion_anterior,audi_valor_asegurado_anterior,audi_estado_anterior,
    audi_costo_anterior,audi_fecha_inicio_nueva,audi_fecha_expiracion_nueva,audi_valor_asegurado_nuevo,audi_estado_nuevo,audi_costo_nuevo,
    audi_fecha_modificacion,audi_usuario,audi_codigo_aseguramiento,audi_accion)
    values(old.asefechainicio,old.asefechaexpiracion,old.asevalorasegurado,old.aseestado,old.asecosto,new.asefechainicio,new.asefechaexpiracion,
    new.asevalorasegurado,new.aseestado,new.asecosto,now(),current_user,new.asecodigo,'Actualizacion tabla aseguramiento');
    update aseguramiento set asefechainicio='2011-09-28', asefechaexpiracion='2012-09-28', asevalorasegurado=50000000, aseestado='Vigente',
    asecosto=800000
    where asecodigo=3;

    • @jesuv5875
      @jesuv5875 7 ปีที่แล้ว

      Me sale este error column count doesn´t match value count at row 1
      aqui te dejo la tabla automotores y aseguramiento:
      create table automotores(
      autoplaca varchar(6) not null,
      automarca varchar(30) not null,
      autotipo int not null,
      automodelo int not null,
      autonumpasajeros int not null,
      autocilindraje int not null,
      autonumchasis varchar(20) not null,
      primary key(autoplaca),
      foreign key (autotipo) references tiposAutomotores(auttipo)
      );
      describe automotores;
      create table aseguramiento(
      asecodigo int(6) not null auto_increment,
      asefechainicio date not null,
      asefechaexpiracion date not null,
      asevalorasegurado int not null,
      aseestado varchar(10) not null,
      aseplaca varchar(6) not null,
      asecosto int not null,
      primary key(asecodigo),
      foreign key(aseplaca) references automotores(autoplaca)
      );

  • @carlosvivas8977
    @carlosvivas8977 6 ปีที่แล้ว

    Hola Espero este muy Bien !!!! tengo un problema actualizo los datos UPDATE PRODUCTOS SET PRECIO=PRECIO+20 WHERE CÓDIGOARTÍCULO='AR07' SI ME HACE LA CONSULTA NORMAL ME MODIFICA EN LA TABLA DE PRODUCTOS PERO EN LA TABLA DE PRODUCTOS ACTUALIZADOS NO SE GUARDA NADA !! POR FAVOR si me pueden Ayudar

  • @oscarabellan362
    @oscarabellan362 5 ปีที่แล้ว +2

    Profe, puedo ir al baño?

  • @jhonalexanderarizaduarte845
    @jhonalexanderarizaduarte845 2 ปีที่แล้ว

    Ahora no me deja editar el precio😑😬🤔🤔

  • @jennyvanessa4356
    @jennyvanessa4356 6 ปีที่แล้ว +1

    Hola que tal muy bueno el video, yo estoy utilizando una tabla usuario........ y en el momento d ejecutar el trigger me sale este error: #1054 - Unknown column 'usuaio_usu' in 'OLD' Alguien me podria ayudar con esto pliss

    • @pildorasinformaticas
      @pildorasinformaticas  6 ปีที่แล้ว +2

      Según el mensaje, el nombre de la columna es erróneo. Revisa que efectiva,mente esa columna existe con el nombre "usuaio_usu". Quizás quisiste decir "usuario_usu" con R. Un saludo!!

    • @jennyvanessa4356
      @jennyvanessa4356 6 ปีที่แล้ว

      Sos un Dioss..!!! Mil gacias..!!! luche tanto con ese error y para que sea una simple R jajajaj ..!! Saludos,,!!

    • @carolinasinger3884
      @carolinasinger3884 4 ปีที่แล้ว

      @@pildorasinformaticas sos un genio!! Mismo error! Saludos desde Buenos Aires y felicidades, me volví fan tuya! Espero que con esto de la pandemia estes bien. Cariños.

  • @patricialavituanama8450
    @patricialavituanama8450 2 ปีที่แล้ว

    alguien podria ayudarme como puedo insertar trigger en una tabla pero que tambien funcione para otra tabla por ejemplo yo tengo tabla producto y quiero que casa vez que se venda algo al usar la tabla de detalle boleta el stock varie por ejemplo si yo vendo un producto que stock baje y en todo caso si deseo cancelar el pedido que el stock regrese a donde estaba . si alguien podria ayudarme en eso

  • @borismiranda8924
    @borismiranda8924 5 ปีที่แล้ว

    ALGUNA VEZ HA PROBADO GITHUB SERIA EXCELENTE PARA QUE SU COMUNIDAD CREZCA MAS

  • @TheSensei88
    @TheSensei88 6 ปีที่แล้ว

    Hola, me esta apareciendo un error en una consulta super sencilla que es " UPDATE PRODUCTOS SET PRECIO=PRECIO+20 WHERE CÓDIGOARTÍCULO='AR07'; " ... el error dice "#1054 - La columna 'NOW' en field list es desconocida" wtf, alguien sabe qué puede ser?

    • @TheSensei88
      @TheSensei88 6 ปีที่แล้ว

      Este es mi Trigger, por si sirve de algo para resolver esto:
      CREATE TRIGGER productos_backup_BU BEFOREU PDATE ON productos FOR EACH ROW
      INSERT INTO productos_backup
      (COD_ANTERIOR, NOMBRE_ANTERIOR, SECCIÓN_ANTERIOR, PRECIO_ANTERIOR, IMPORT_ANTERIOR, ORIGEN_ANTERIOR,
      ANTERIOR_FECHA, COD_NUEVO, NOMBRE_NUEVO, SECCIÓN_NUEVO, PRECIO_NUEVO, IMPORT_NUEVO, ORIGEN_NUEVO,
      NUEVO_FECHA, USUARIO, ACTUALIZACIÓN)
      VALUES
      (OLD.CÓDIGOARTÍCULO, OLD.NOMBREARTÍCULO, OLD.SECCIÓN, OLD.PRECIO, OLD.IMPORTADO, OLD.PAÍSDEORIGEN, OLD.FECHA,
      NEW.CÓDIGOARTÍCULO, NEW.NOMBREARTÍCULO, NEW.SECCIÓN, NEW.PRECIO, NEW.IMPORTADO, NEW.PAÍSDEORIGEN, NEW.FECHA,
      CURRENT_USER, NOW)

    • @TheSensei88
      @TheSensei88 6 ปีที่แล้ว +1

      Y claro, si a mi NOW le faltaban sus parentesis! Lo que hace un error de sintaxis, me volvi loco

    • @pildorasinformaticas
      @pildorasinformaticas  6 ปีที่แล้ว +1

      Me alegro de que encontraras el error. Este tipo de errores son complicados de ver. Un saludo!

  • @JeanSebas9
    @JeanSebas9 7 ปีที่แล้ว

    Crack!

  • @alexruiz1034
    @alexruiz1034 3 ปีที่แล้ว +1

    lo que en 6 meses no aprendí en la esc...

  • @luciarejon9945
    @luciarejon9945 7 ปีที่แล้ว +1

    Me pueden enviar la base de datos

    • @pildorasinformaticas
      @pildorasinformaticas  7 ปีที่แล้ว +1

      La tienes en la descripción del vídeo 2. Un saludo!!

  • @TandarX
    @TandarX 3 ปีที่แล้ว

    Solo te bastaron 4 minutos para superar a mi profe el cual demoro 3 semanas en explicar como la mierda.