Manejo de Cursores en Microsoft SQL Server

Поділитися
Вставка
  • Опубліковано 15 січ 2025

КОМЕНТАРІ • 130

  • @javierdiaz3089
    @javierdiaz3089 3 місяці тому

    Es la mejor explicación que he visto, aplausos

  • @LauraPerez-xb3jo
    @LauraPerez-xb3jo 4 роки тому +4

    Excelente, no solo explicas como se hace sino que también explicas como funciona de forma muy clara. Muchas gracias!

  • @seshomarutaisho8997
    @seshomarutaisho8997 5 місяців тому

    Es una explicación muy buena para cuando se viene viendo los cursores

  • @renzogf1103
    @renzogf1103 7 років тому +1

    Hace tres años aprendì viendo este video y hoy averiguando otros temas por cosa del destino me vuelvo a cruzar con el video que aprendì.

    • @mathias9153
      @mathias9153 3 роки тому

      Ya pasaron 3 años mas rey

  • @GamerCriptoBro
    @GamerCriptoBro 5 років тому

    tus 16:44 minutos me a explicado todo un tema, que a mi profesora le a llevado dos horas y nadie se a enterado de lo que explicaba.

  • @miguelcarranza7926
    @miguelcarranza7926 5 років тому +1

    Muchísimas gracias, excelente exposición no tenía idea que se podía hacer eso en SQL Server, me soluciona una infinidad de problemas, felicitaciones

  • @TheYzaacK
    @TheYzaacK 9 років тому

    Los mejores cursos de SQL Server que e visto en UA-cam, Gracias...

  • @devtodo751
    @devtodo751 3 роки тому +1

    Muchas gracias, logre entender y aplicar en mi solución

  • @adrek9018
    @adrek9018 9 років тому

    Concreta pero entendible explicación sobre Cursores. Muchas gracias.

  • @krashdata
    @krashdata 8 років тому

    Excelente explicación , gracias por su tiempo

  • @felipecollanterodriguez6258
    @felipecollanterodriguez6258 11 років тому

    Claro, conciso, simple, ameno....¡¡Muuuuchísimas gracias!!

  • @agabriele77
    @agabriele77 3 роки тому

    Excelente muy didáctico, muchas gracias

  •  6 років тому

    Excelente explicación maestro! Dios bendiga tu vida!

    • @visoalgt
      @visoalgt  6 років тому

      Mil Gracias! Saludos!

  • @fernandoarce804
    @fernandoarce804 3 роки тому

    Muy buena forma de explicar, gracias.

  • @pedrogarcia-gt8hg
    @pedrogarcia-gt8hg 7 років тому

    Muchísimas gracias por la explicación tan clara sobre los cursores

  • @miguela.hernandez4168
    @miguela.hernandez4168 6 років тому

    Oye muchas gracias por esta excelente explicación... me has ayudado enormemente... saludos y gracias

  • @christianvelasquez3100
    @christianvelasquez3100 8 років тому

    Mejor explicado imposible. Gracias!

  • @winmusic
    @winmusic 3 роки тому

    Muchisimas gracias por el tutorial!

  • @ProtejeTuInfo
    @ProtejeTuInfo 6 років тому

    visoalgt que bien explicas men, yo lo estoy viendo en la U, y me ha costado comprender la verdad. Demasiadas gracias, saludos desde CRC!

    • @visoalgt
      @visoalgt  6 років тому +1

      Que bueno que te sea de utilidad el video Anthony, Saludos!

  • @elyinanuar9360
    @elyinanuar9360 5 років тому

    Excelente video!!! gracias!!

  • @vwpasstmeriland5341
    @vwpasstmeriland5341 10 років тому

    Excelente explicación , paso a paso.

  • @JorgeEdgardoTorres
    @JorgeEdgardoTorres 7 років тому

    Gracias por su tiempo, me ha sido muy util!!

  • @luisjarpa9419
    @luisjarpa9419 10 років тому

    Felicitaciones , Explicas muy bien :D. Un muy buen aporte

  • @DiegoGarcia-jk3zs
    @DiegoGarcia-jk3zs 9 років тому

    gracias tus guias son excelentes....

  • @antonititomunoz8760
    @antonititomunoz8760 6 років тому

    02/08/18 me sirvió para entenderlo, muchas gracias

  • @tonny00005
    @tonny00005 8 років тому

    Muchas gracias. Muy bien explicado

  • @UnGatoBlue
    @UnGatoBlue 9 років тому +1

    excelente video !! gracias

  • @Zwaqquen
    @Zwaqquen 10 років тому +1

    Gracias Por Tu Aporte, Fácil d Entender.

  • @visoalgt
    @visoalgt  12 років тому

    Si, tienes toda la razón, funcionan de similar manera

  • @hubpelca10
    @hubpelca10 6 років тому

    Excelente, y yo que creía que saber todo acerca de este tema.

  • @diegovelasquez8139
    @diegovelasquez8139 4 роки тому

    Dios lo bendiga, loviu

  • @NeyMC
    @NeyMC 10 років тому

    Bien explicado y entendible

  • @javiero.sernaquequintana3479
    @javiero.sernaquequintana3479 4 роки тому

    Excelente aporte

  • @norkaloayza2558
    @norkaloayza2558 6 років тому

    Muy bueno el tutorial, muchas gracias

  • @DarkCat003
    @DarkCat003 9 років тому

    Excelente explicación, gracias por compartir.

  • @cristopherlarios3433
    @cristopherlarios3433 8 років тому

    Gracias Muy Bien Explicado!!!

  • @mauriciohernandezcabrera9413
    @mauriciohernandezcabrera9413 5 років тому

    Gracias por la explicación :)

  • @elkingutierrex9580
    @elkingutierrex9580 6 років тому +2

    Excelente tutorial!!!

  • @manelbcn8934
    @manelbcn8934 8 років тому +12

    Tan difícil es explicarlo así de fácil? Muchas gracias por su tiempo.

  • @BeatrizLopess
    @BeatrizLopess 9 років тому

    Muy buena la explicación!! muchas gracias.

  • @keilaedithquirozmitre206
    @keilaedithquirozmitre206 7 років тому

    gracias excelente explicación

  • @danielprieto5803
    @danielprieto5803 3 роки тому

    Excelente Video!

  • @cjmatusalem11
    @cjmatusalem11 9 років тому

    excelente tutorial llego al 100 en explicacion. solo falto poner el tercer ejemplo cuando usas insert con trigger. (
    create trigger t_nametable
    on cabmov
    for insert
    as
    declare @var1,...)

  • @helriper27hr
    @helriper27hr 12 років тому

    Gracias excelentes tus tutoriales!

  • @LatinRemixes25
    @LatinRemixes25 9 років тому

    muchas gracias por la explicación, me ayudaste mucho :D

  • @damercadoo
    @damercadoo 4 роки тому

    Buena explicacion

  • @visoalgt
    @visoalgt  11 років тому

    De ninguna parte, me vino a la mente y lo sugerí, ya que seria lo primero que yo intentaría, también lo estudiaría usando CLR, que es una programación empaquetada en DLL que luego incorporaría a un procedimiento. Seria que explicaras que quieres hacer para evaluar cual es el mejor camino.

  • @michaelcarmona2032
    @michaelcarmona2032 8 років тому

    Magistral muchas gracias!!

  • @cruzciti
    @cruzciti 11 років тому

    excelente muy bien explicado

  • @yirlanivillalobos3341
    @yirlanivillalobos3341 6 років тому

    Excelente, muy buen video!

  • @luisfaucheuxrojas1052
    @luisfaucheuxrojas1052 5 років тому

    Me gusto la explicación, una consulta para que usas el comando
    where current of

  • @isamosso
    @isamosso 9 років тому

    en 16 minutos me aclaro todo acerca de los cursores, tengo un problemática con MYSQL con esto de los cursores

  • @pedrocarreto100
    @pedrocarreto100 4 роки тому

    gracias gracias.

  • @gozkill3r
    @gozkill3r 5 років тому

    like en 50 segundos, muchas gracias

  • @emiliosanchez723
    @emiliosanchez723 5 років тому

    Agradecido...

  • @chik1tona
    @chik1tona 2 роки тому

    gracias capo

  • @yesidcalle01
    @yesidcalle01 3 роки тому

    excelente

  • @victoreugeniogomezcampos4243
    @victoreugeniogomezcampos4243 11 років тому

    Muchas gracias profe

  • @dumby29
    @dumby29 7 років тому

    excelente video

  • @digredeth
    @digredeth 12 років тому

    Esto seria algo analogo a declar un iterador sobre una estructura de datos en java por ej no?

  • @lilamelendez3408
    @lilamelendez3408 6 років тому

    GRACIAAAAAAAAAAAAAAAAAAAAAAAAAAAASSSSSSSSSSSSS!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

  • @yesidcalle01
    @yesidcalle01 3 роки тому

    Una pregunta por favor, utilizas el Update solo para actualizar la misma tabla cuando declaras el cursor?, y si es otra tabla que no es el cursor? mi inquietud.
    Tengo una tabla que contiene el código del proveedor, nombre de promoción, fecha inicial y fecha final, y un porcentaje entero que le debo cobrar.
    mi idea es recorrer la tabla de promociones, y actualizar 3 campos de una tabla de ventas por proveedor por fechas, si están dentro de ese rango de promoción, actualizo el porcentaje y nombre de la promoción.
    tienes algún video que explique leer una tabla y actualizar otra tabla?
    saludos.
    gracias si me puedes responder

  • @LuisEnriqueHilarioEsteban
    @LuisEnriqueHilarioEsteban 4 роки тому

    consulta, Que
    pasos seguirías para cargar data entre servidores desde una tabla temporal

    • @vhcardenas
      @vhcardenas 4 роки тому

      Seria igual que una tabla local solo hay que establecer la conexión al segundo servidor por medio de OPENROWSET o Servidores vinculados

    • @LuisEnriqueHilarioEsteban
      @LuisEnriqueHilarioEsteban 4 роки тому

      @@vhcardenas mi pregunta referia de integration services

  • @luismarin01
    @luismarin01 11 років тому

    Wow, muy bien explicado

  • @visoalgt
    @visoalgt  11 років тому

    Si se puede devolver parametros en un procedimiento, pero no en cada iteración. Lo que se podria hacer es devolver una variable tipo tabla formada por los valores de cada iteración.

  • @zultangt
    @zultangt 9 років тому

    Muy buena explicación, tendrías algunos vídeos de triggers, si es posible.Muchas gracias.

    • @visoalgt
      @visoalgt  9 років тому

      En este link paulo villamayor, encontraras un video de triggers ua-cam.com/video/2FiUK8NWuXs/v-deo.html

    • @zultangt
      @zultangt 9 років тому

      Muchisimas gracias
      Éxitos por siempre

  • @CAROLINGEA
    @CAROLINGEA 12 років тому

    Excelente! muchas gracias!

  • @visoalgt
    @visoalgt  11 років тому

    en SQL Server existe una instruccion que se llama DATEPART que extrae de la fecha la parte que necesitas.

  • @EduardocChavezh
    @EduardocChavezh 10 років тому

    Excelente video :)

  • @yosethrodriguez7209
    @yosethrodriguez7209 10 років тому

    gracias

  • @Floopa_dios
    @Floopa_dios 2 роки тому

    una pregunta, he visto que muchos no recomiendan la utilización de cursores y tablas temporales, cual tu opinión. Yo debo de manejar mucho esto por que manejo ETL

    • @visoalgt
      @visoalgt  2 роки тому +2

      Usualmente no se recomiendan los cursores contradicen el modelo relacional, que opera en conjuntos con algebra relacional, por lo que normalmente requieren más código que el enfoque basado en conjuntos.
      También incurren en más sobrecarga durante su ejecución.
      Alternativas a los cursores:
      -Funciones de ventanas
      -Las funciones de agregado
      -Variables tipo tabla
      Cuando usar cursores de manera apropiada:
      La generación de código SQL dinámico
      La realización de tareas administrativas

    • @Floopa_dios
      @Floopa_dios 2 роки тому

      @@visoalgt Gracias por responder :)

  • @4520649
    @4520649 12 років тому

    Hey amigo muchas gracias . :)

  • @ricardopineda7468
    @ricardopineda7468 4 роки тому

    y si antes de el update quiero hacer un IF ?

  • @MrCalboso
    @MrCalboso 8 років тому

    Gracias por tu explicación , una de las mejores que he visto, pero necesito de tu ayuda por favor. si me das un correo donde escribirte o explicártelo por aquí sobre un script que necesito para leer una tabla y grabar unos campos en otra, y no se si esto del cursor me sirva te lo sabría agradecer.

  • @Aprendeyatv
    @Aprendeyatv 5 років тому

    Muchas gracias Victor tu explicaciòn es muy clara. Piensas sacar curso de Power Bi en Udemy???

  • @ronaldpaico3126
    @ronaldpaico3126 6 років тому

    puedes usar el mismo cursor para recorrer dos tablas ?

    • @visoalgt
      @visoalgt  6 років тому

      Tu cursor se carga a partir de un Select, si este tiene un join entre tablas teniendo claro la tabla padre y la tabla hija, si recorrerías dos tablas.

    • @ronaldpaico3126
      @ronaldpaico3126 6 років тому

      Son dos tablas temporales

    • @visoalgt
      @visoalgt  6 років тому

      Si hay un campo en común que te permita hacer el join entre las dos tablas temporales si se podría, si no tendrías que hacer dos cursores, uno para cada tabla.

    • @ronaldpaico3126
      @ronaldpaico3126 6 років тому

      Gracias por responder, pero podría escribirte al interno, tengo una duda con un procemiento almacenado donde uso cursores, y te quería pedir que me orientes.

    • @visoalgt
      @visoalgt  6 років тому +1

      Mil disculpas, pero es muy difícil para mí, por cuestiones de trabajo, comprometerme a analizar tu caso específico y responderte, pero suscríbete a facebook.com/groups/SQLSERVERLATAM/ donde puedes recibir apoyo de varios compañeros en la comunidad.

  • @ariscasilla
    @ariscasilla 4 роки тому

    10:20 me da problema cuando lo ejecuto
    AYUDA!!

  • @MrJorgx3
    @MrJorgx3 5 років тому

    Buenas! tengo dos dudas. La primera, para realizar update de los campos de una tabla diferente a la del cursor, tendria que ingresar los campos en el update (tabla y campos correspondientes asociados a cada variable del cursor?) la segunda: si quisiera validar la existencia de un campo del cursor en otra tabla, como podria hacerlo. De antemano muchas gracias!

    • @vhcardenas
      @vhcardenas 5 років тому +1

      En este link puedes ver más detalles sobre lo que preguntas soportesql.wordpress.com/2012/11/23/cursores-en-sql-server/

  • @rrojas7596
    @rrojas7596 6 років тому

    Buenas tardes profesor una pregunta, influye que este cursor funcione dependiendo si el usuario es SA o no?

    • @vhcardenas
      @vhcardenas 6 років тому

      No, no debe influir, tu cursor se puede crear de manera local o global para que funcione solo en tu sesión o en todas las sesiones de SQL

    • @rrojas7596
      @rrojas7596 6 років тому

      muchas gracias le comento el porq de la pregunta... tengo un proceso creado que funciona trayéndome la base de datos de la empresa a mi maquina, pero en la de ellos propia, no... no me da error pero no me registra ningún campo, al final dice 0 cuando debería registrar en todos los campos asignados. el SQL utilizado es el 2016. Se me olvidaba... en la empresa de ellos entro al sql con un usuario que ellos me asignaron pero en mi maquina entro con el sa!

    • @vhcardenas
      @vhcardenas 6 років тому

      Según entiendo el proceso funciona en la máquina de la empresa, pero en tu máquina no? Otras preguntas serían Como te estas conectando a la base de datos desde el excel o usas el SQL Management Studio? Tienes acceso al script del proceso o solo lo ejecutas? Haz intentado en vez de sesionar como SA en tu máquina iniciar sesión con el usuario que te dan en la empresa o no se puede?

    • @rrojas7596
      @rrojas7596 6 років тому

      al revés profesor, en mi maquina si funciona el proceso utilizando la misma base de datos que me traigo de dicha empresa... pero en el sql de ellos no, no me hace los registros. le comento... en mi maquina entro como sa con todo los permisos pero en la empresa de ellos entro con un usuario que me asignaron con nombre NVD y la verdad no veo la diferencia es el mismo sql es la misma base de datos pero el proceso en mi maquina hace los registros pero en la de ellos no, todo finaliza en 0!

    • @rrojas7596
      @rrojas7596 6 років тому

      profesor podria comunicarme con ud por otra via... tengo algunas dudas y quisiera registrarme en undemy para lo del curso y para asesoramiento. De ante mano muchísimas gracias por el tiempo que dedica en la enseñanza de toso los que lo seguimos!

  • @richardmartinvalentinvasqu9530
    @richardmartinvalentinvasqu9530 4 роки тому +1

    SALUDOS JEAN JOAN BRUNO FRANK ABEL

  • @zebasxa5933
    @zebasxa5933 6 років тому

    amigo tienes el scrcipt de la base northwind

    • @visoalgt
      @visoalgt  6 років тому

      www.microsoft.com/en-us/download/details.aspx?id=23654

  • @EduardoCapacita
    @EduardoCapacita 4 роки тому

    En un cursor, ¿es posible mostrar de 10 en 10 filas??

  • @HeavyDamage360
    @HeavyDamage360 6 років тому +1

    Clarísimo.

  • @LuisXDxdXD
    @LuisXDxdXD 11 років тому

    Hola que tal, queria una ayuda queria ver como mostrar las ventas de cada empleado en dias, meses y años ¿? Porfa es una tarea pero no tengo idea de como hacerlo. Please ayudame con eso

  • @adolfovanegas7802
    @adolfovanegas7802 6 років тому

    Buenas, me gustó El video, y me preguntaba, como puedo hacer para leer todas las bases de datos que hay, y luego leer la información que hay en una tabla en especial y común en cada base de datos. Como un bucle for.. espero haber explicado el problema bien. Gracias de antemano.

    • @visoalgt
      @visoalgt  6 років тому

      Con el siguiente script recorres todas las bases de datos pero para hacer un backup de cada base, tendrías que modificarlo para consultar en cada base la tabla que necesitas
      DECLARE @nombre_db AS VARCHAR(50)
      DECLARE tablas_cursor CURSOR FOR
      SELECT name
      FROM sys.databases
      WHERE name NOT IN( 'master', 'tempdb', 'model', 'msdb' )
      OPEN tablas_cursor
      FETCH next FROM tablas_cursor INTO @nombre_db
      WHILE @@fetch_status = 0
      BEGIN
      DECLARE @nombre VARCHAR(150)
      SET @nombre= CONVERT(VARCHAR(9), Getdate(), 6)
      SET @nombre='c:\Backup\' + @nombre + '-'
      + @nombre_db + '.bak'
      SET @nombre=Replace(@nombre, ' ', '')
      --select @nombre
      BACKUP DATABASE @nombre_db TO DISK=@nombre WITH compression
      FETCH next FROM tablas_cursor INTO @nombre_db
      END
      CLOSE tablas_cursor
      DEALLOCATE tablas_cursor

  • @visoalgt
    @visoalgt  11 років тому

    Ojo que no es que no lo pueda devolver, de echo lo hace. Creo que no nos estamos entendiendo, tu pregunta inicial fue que el procedimiento devolviera, en cada iteración de un ciclo al que entra para leer el cursor, un valor (o al menos así te entendí) y esto es lo que digo que no se puede porque el parámetro de salida debe ser uno. Creo que lo que quieres hacer es mas fácil, usando una función, además tendría que preguntar si tu cliente es VStudio, discutámoslo escríbeme a vhcardenas@gmail.com

  • @javiercassianobustamante4705
    @javiercassianobustamante4705 6 років тому

    Ahora como puedo regresarlo a la normalidad?

  • @alfredotrelles3708
    @alfredotrelles3708 8 років тому

    Me parece buena la explicacion ,pero quisiera saber,que muestras ,osea que datos :c

  • @jonathanverasegura6989
    @jonathanverasegura6989 6 років тому

    HOLA ME SALE ESTE ERROR
    MANEJOR EL 2012
    Debe declarar la variable escalar "@idpasajero".

    • @visoalgt
      @visoalgt  6 років тому

      Supongo que estas usando la variable para recibir un valor y la variable no esta declarada al inicio de la instrucción, esto lo haces con un DECLARE @idpasajero INT por ejemplo, Saludos!

    • @jonathanverasegura6989
      @jonathanverasegura6989 6 років тому

      hola, EXACTO ESO LO TENGO AL COMIENZO, PERO IGUAL ME MARCA ERROR PODRIAS APOYARME POR FAVOR .

    • @visoalgt
      @visoalgt  6 років тому

      Pon tu código para ver de que se trata.

    • @jonathanverasegura6989
      @jonathanverasegura6989 6 років тому

      Gracias, el problemas es kue tengo kue seleccionar desde el inicio hasta el fin del código.

    • @visoalgt
      @visoalgt  6 років тому

      Excelente que ya lo pudiste resolver. Saludos!

  • @LuisEnriqueHilarioEsteban
    @LuisEnriqueHilarioEsteban 7 років тому

    man como se mete este cursor en un procedimiento almacenado si es con parametros

    • @visoalgt
      @visoalgt  7 років тому

      Pues básicamente encierras tu sentencia de cursor en dentro de un CREATE PROCEDURE, algo como esto
      CREATE PROCEDURE
      as
      --Declarando el cursor
      Declare Cursor1 Cursor scroll
      for select * from
      --Abrir el cursor
      Open Cursor1
      --Navegar
      Fetch first from Cursor1
      --cerrar el cursor
      Close Cursor1
      --liberar de memoria
      Deallocate Cursor1
      go

  • @ignaciioGo
    @ignaciioGo 7 років тому +1

    muy util visto 5 años despues ejejejeje

    • @visoalgt
      @visoalgt  7 років тому

      Excelente que siga siendo de utilidad, Saludos!

  • @howtobasicc24
    @howtobasicc24 2 роки тому

    soy un tonto jamas aprendere a programar tal vez mañana ya no exista...

  • @Cjara1119
    @Cjara1119 12 років тому

    Entonces no lo vea

  • @misaellopez734
    @misaellopez734 3 роки тому

    Muy bien explicado muchas gracias

  • @davidmonsuyovono9368
    @davidmonsuyovono9368 6 років тому

    Muchas gracias todo está muy claro.

  • @Zwaqquen
    @Zwaqquen 8 років тому

    Excelente hermano, gracias.