MERGE en SQL Server - #28 Microsoft SQL Server desde cero

Поделиться
HTML-код
  • Опубликовано: 24 дек 2024

Комментарии •

  • @spartanzarazua117
    @spartanzarazua117 2 года назад +3

    Muchas gracias tu video me sirvió de mucho al inicio se veía muy complicado pero explicandolo te das cuenta que en verdad es sencillo.

    • @mundobinariobyaxel
      @mundobinariobyaxel  2 года назад

      Hola bin, estos mensajes me motivan bastante, saludos y te deseo buenos scripts 🔝

  • @randolfojolongutierrez5311
    @randolfojolongutierrez5311 3 года назад +1

    Buenas noches, muy muy interesante... Gracias y saludos de Guatemala

  • @juanalfredogutierrez8663
    @juanalfredogutierrez8663 Год назад

    Gracias máster
    Se suma un nuevo suscriptor.

    • @mundobinariobyaxel
      @mundobinariobyaxel  Год назад

      Bienvenido al canal 🚀, espero estar leyéndote por aquí, si llegas a tener alguna duda y si puedo responderla lo haré, saludos 😎

  • @spartan9771
    @spartan9771 Год назад

    Gracias master , muy practica como siempre. ;)

  • @luisgabrielmatatencio6805
    @luisgabrielmatatencio6805 3 месяца назад

    Gracias por el video, me funciono mucho

    • @mundobinariobyaxel
      @mundobinariobyaxel  3 месяца назад +1

      ¡De nada bin 👾! Me alegra mucho saber que el video te fue útil. ¡Gracias por tu apoyo! 🚀

  • @eduardorivera4720
    @eduardorivera4720 2 года назад

    Me resulta muy interesante el video, no se casi nada de SQL pero la verdad me ha dejado sorprendido lo que puede hacer, me funciona perfecto cuando son pocos datos, sin embargo hay dos problemas que tengo.
    1.- mis datos origen como los datos que quiero comparar son de 1 millón
    2.- algunos de mis datos que deseo comparar se duplican con mis datos origen, ya que en esencia lo que necesito es actualizar cierta información y cuando no exista me inserte un nuevo registro.

    • @eduardorivera4720
      @eduardorivera4720 2 года назад

      Este es el error que me arroja, espero me puedan orientar saludos.
      La instrucción MERGE intentó ACTUALIZAR o ELIMINAR la misma fila más de una vez. Esto sucede cuando una fila de destino coincide con más de una fila de origen. Una instrucción MERGE no puede ACTUALIZAR/ELIMINAR la misma fila de la tabla de destino varias veces. Refine la cláusula ON para garantizar que una fila de destino coincida como máximo con una fila de origen, o use la cláusula GROUP BY para agrupar las filas de origen.

    • @mundobinariobyaxel
      @mundobinariobyaxel  2 года назад

      Hola binario, si ya solucionaste este problema, me cuentas como, si no, podrías utilizar previo a este un Common table expression para discriminar datos repetidos, y posterior a eso realizar el MERGE, espero que me haya dado a entender.

  • @franciscorossi5633
    @franciscorossi5633 2 года назад

    Excelente explicación, muchas gracias! Nuevo suscriptor por acá.

  • @oscararmandocisnerosruvalc8503
    @oscararmandocisnerosruvalc8503 8 месяцев назад

    Increíble vídeo , el ejemplo es como cuando en la tabla máster un estudiante esta registrado pero luego se da de baja en la tabla de por ejemplo un campus , así sería una buena forma de actualizar la tabla matriz

    • @mundobinariobyaxel
      @mundobinariobyaxel  8 месяцев назад

      exactamente, mejor no lo pudiste describir 🚀🚀

    • @oscararmandocisnerosruvalc8503
      @oscararmandocisnerosruvalc8503 7 месяцев назад

      @@mundobinariobyaxel aún los debes uno de ssis , data factory o por que no spark hahahaha.
      Saludos

  • @albertokebg
    @albertokebg 3 года назад +2

    Muchas gracias, muy bien explicado! El problemita del 'spelling' se puede solucionar con la función de IntelliSense. Se ejecuta con CTRL+SHIFT+R

    • @mundobinariobyaxel
      @mundobinariobyaxel  3 года назад +1

      Hola binario, graciass y bienvenido, he probado eso que dices, pero también he notado que es porque dejo la sesión abierta y a veces se va la red y se pierde, se arregla hasta que cierro todo.

  • @juanpablorochasantelices1694
    @juanpablorochasantelices1694 2 года назад

    Excelente contenido.

  • @samuelfranciscogarcia1440
    @samuelfranciscogarcia1440 3 года назад +1

    Me encantó muchísimo. Mil gracias por tu enseñanza. 🌧⛈💨🥂🧑‍🍼👼👷🇲🇽

  • @joelruiz1373
    @joelruiz1373 Год назад

    Hola...!! En la opción de Edit, encuentras IntelliSense y ahí puedes refrescar la Memoria Cache, para solucionar el inconveniente de las marcas rojas.
    Gracias por el curso.

  • @felipem3804
    @felipem3804 2 года назад

    Tengo un problema, y que en entorno productivo, al ejecutarse el mismo sp ( dos merge consecutivos a distintas tablas) se genera deadlocks, el. Merge no permite usar unread commited ni with no lock, que opciones podria usar para evitar estos dead locks? Regresar a opersciones de update e insert?
    Gracias.... Colegas

    • @mundobinariobyaxel
      @mundobinariobyaxel  2 года назад

      Uffff eso no me ha sucedido, y no se me ocurre que podría ser, si de pronto ya lo solucionaste, me cuentas como fue porque no quiero quedarme con la duda

  • @fredyaguirre9986
    @fredyaguirre9986 Год назад

    Muchas gracias buen video, tengo una pregunta si una tabla que tenga muchas columnas hay forma de parametrizar en los update he insert que tome todas todas las columnas sin especificarlas.Gracias

    • @mundobinariobyaxel
      @mundobinariobyaxel  Год назад

      Hola binario, no he intentado eso, yo creo que si se debe especificar, al final por buena practica recuerda que al hacer un INSERT debes especificar las columnas, aunque si no lo haces, el INSERT también lo seguirá haciendo bien, pero como recomendación, siempre hay que ser lo más organizados posibles.
      Aquí te dejo un blog que hable de MERGE :)
      www.sqlshack.com/understanding-the-sql-merge-statement/

  • @felixpaniagua6018
    @felixpaniagua6018 2 года назад

    Una pregunta: Qué pasaría si tengo en mi tabla source un valor que quiero asignar a la tabla target, pero resulta que hace un match en ambos y al actualizar la tabla source le pasa casi todos los valores diferentes a la tabla target, exceptuando el id, pero resulta que yo en realidad no quiero que se elimine la información en la tabla target o se modifique para que se pierda? Para entender más mi pregunta te pondría este caso. Digamos que en la tabla source yo tengo id=1 y nombre = "Félix" y en la target yo tengo id=1 y nombre = "María", pues en este caso como ambas tablas se relacionan por el id y resulta que hacen un match, entonces Félix reemplazaría a María y esta ya no estará en ninguna de las tablas perdiendo datos en el proceso. Será que debo de hacer en la conexión de ambas tablas con el keyword ON utilizar el nombre y no el id para que así en ese campo no me haga match e inserte a Félix en un registro nuevo? Espero tus respuestas con ansias.

    • @mundobinariobyaxel
      @mundobinariobyaxel  2 года назад

      Holaaa, muy buena duda, puedes colocar un WHERE [source].[name] [target].[name], me cuentas si funcionooo y disculpa por llegar con la respuesta hasta ahora.

    • @felixpaniagua6018
      @felixpaniagua6018 2 года назад

      @@mundobinariobyaxel Si, esa duda la comprobé, pero muchas gracias de todos modos. Tu video fue muy útil para entenderlo. Y otra pregunta: Es necesario conocer este tipo de temas para que te den un trabajo como desarrollador, necesitas saber muchos de estos temas sql o lo puedes ir aprendiendo sobre la marcha una vez que consigues trabajo? Ya que sigo aprendiendo sql y sé casi la mayoría de sentencias sql que dan en los cursos en youtube, pero a veces veo muchas cosas nuevas más y me decepciono porque creía que sabía todo lo necesario.

    • @mundobinariobyaxel
      @mundobinariobyaxel  2 года назад

      @@felixpaniagua6018 No es necesario saber todas las sentencias, te puedo contar que llevo 6+ años trabajando con SQL y luego surge un escenario nuevo y es cuando aplico comando que jamás había utilizado, respondiendo es que puedes ir aprendiendo sobre la marcha, como es en casi todas las carreras, un abrazo

  • @didimoescobar2247
    @didimoescobar2247 Год назад

    Hola, exelente video y explicación !!!!, deseo saber de que forma es posible ejecutar este MERGE en sql server sin la necesidad de ejecutarlo manualmente, se puede diseñar un job por ejemplo en sql ???

    • @mundobinariobyaxel
      @mundobinariobyaxel  Год назад +1

      Hola, se puede utilizar desde un JOB, pero personalmente lo implemento desde un stored procedure.
      ruclips.net/video/1IBLXDXRAAs/видео.htmlsi=vbO5ik1nEiubtYTG
      ruclips.net/video/5_KPpmh1gKo/видео.htmlsi=kNZD72226yutBKXq

  • @Roberto-kz2oj
    @Roberto-kz2oj 9 месяцев назад

    consulta.... porque son los corchetes???

    • @mundobinariobyaxel
      @mundobinariobyaxel  8 месяцев назад

      Hola, yo lo hago porque ya es un hábito y buena practica, pero te dejo esta respuesta que se me hace aún más interesante. es.stackoverflow.com/questions/133007/cual-es-la-sintaxis-correcta-de-un-select-en-sql-server-alias

  • @CarlosGutierrez-xi2ob
    @CarlosGutierrez-xi2ob 2 года назад

    Excelente!! tengo una duda ya que al parecer tengo duplicados al momento de hacer el match, se debe realizar un group by? y si es así como seria la solución?

    • @mundobinariobyaxel
      @mundobinariobyaxel  2 года назад

      Hola binario, intenta con DISTINCT y sino con la idea que traes del group by, pero con el DISTINCT debería quedar

  • @5516472552
    @5516472552 3 года назад

    Buenas tardes, super interesante el tema, pero subiendo el grado de dificultad un poco, se podría hacer un merge con un listado de tablas ?

    • @mundobinariobyaxel
      @mundobinariobyaxel  3 года назад +1

      Hola, bienvenida al canal, se me hace muy interesante tu pregunta y quiero entender lo del listado de tablas, es decir ¿hacer INSERT a varias tablas dentro del mismo merge?

    • @5516472552
      @5516472552 3 года назад

      @@mundobinariobyaxel insert o Update pero es correcto a varias tablas en diferentes bases de datos todo dentro el mismo merge

    • @mundobinariobyaxel
      @mundobinariobyaxel  3 года назад

      @@5516472552 Ohhh, no se podría ya que el merge solo soporta un source y un target pero si me cuentas un ejemplo donde se podría aplicar, me pondrías a pensar en la mejor solución

  • @oscararmandocisnerosruvalc8503
    @oscararmandocisnerosruvalc8503 8 месяцев назад

    Máster debería hacer una playlist de SSIS y luego llevarlo a data factory !!!. Saludos

    • @mundobinariobyaxel
      @mundobinariobyaxel  8 месяцев назад

      uffff estaría increíble, lo voy a considerar, te mando un abrazo.

    • @oscararmandocisnerosruvalc8503
      @oscararmandocisnerosruvalc8503 8 месяцев назад

      @@mundobinariobyaxel un abrazo y gracias por tan excelente contenido y de tan Buena calidad !!! .
      Usted me have ver que no todo en RUclips es Mal contenido

  • @DJosue2612
    @DJosue2612 2 года назад

    No reconocía la tabla debido a que cuando se creo la tabla StudentC2 no se incluyo la palabra reservada GO para que SQLServer detecte un nuevo componente.

    • @mundobinariobyaxel
      @mundobinariobyaxel  2 года назад

      Binario, entonces HOY he aprendido algo nuevo hoy de ti. Muchas gracias 👾

  • @josephdanielgironherrera9080
    @josephdanielgironherrera9080 2 года назад

    Muchas gracias hermano, todo muy claro. ¿podrias recomendarme alguna pagina o archivo para practicar con ejercicios?. Saludos.

    • @mundobinariobyaxel
      @mundobinariobyaxel  2 года назад

      De nada bin, si quieres practicar aquí te dejo una página muy recomendada. sqliteonline.com/

  • @randolfojolongutierrez5311
    @randolfojolongutierrez5311 3 года назад +1

    4 vídeos que dicen "privados" no dejan verlos...

    • @mundobinariobyaxel
      @mundobinariobyaxel  3 года назад +3

      Ohhh, son los que están programados para publicarse cada Jueves 🚀