Manejo de Cursores en Microsoft SQL Server

www.udemy.com/consulta-de-dat...
En esta lección se aprende como crear y manejar cursores usando T-SQL

Пікірлер: 128

  • @LauraPerez-xb3jo
    @LauraPerez-xb3jo3 жыл бұрын

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

  • @renzogf1103
    @renzogf11036 жыл бұрын

    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

  • @javiusx
    @javiusx5 жыл бұрын

    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.

  • @TheYzaacK
    @TheYzaacK9 жыл бұрын

    Los mejores cursos de SQL Server que e visto en KZread, Gracias...

  • @adrek9018
    @adrek90188 жыл бұрын

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

  • @miguelcarranza7926
    @miguelcarranza79264 жыл бұрын

    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

  • @felipecollanterodriguez6258
    @felipecollanterodriguez625811 жыл бұрын

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

  • @devtodo751
    @devtodo7512 жыл бұрын

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

  • @visoalgt

    @visoalgt

    2 жыл бұрын

    ¡Excelente!

  • @christianvelasquez3100
    @christianvelasquez31007 жыл бұрын

    Mejor explicado imposible. Gracias!

  • @pedrogarcia-gt8hg
    @pedrogarcia-gt8hg7 жыл бұрын

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

  • @manelbcn8934
    @manelbcn89348 жыл бұрын

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

  • @Zwaqquen
    @Zwaqquen9 жыл бұрын

    Gracias Por Tu Aporte, Fácil d Entender.

  • @JorgeEdgardoTorres
    @JorgeEdgardoTorres6 жыл бұрын

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

  • @miguela.hernandez4168
    @miguela.hernandez41685 жыл бұрын

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

  • @krashdata
    @krashdata7 жыл бұрын

    Excelente explicación , gracias por su tiempo

  • @fernandoarce804
    @fernandoarce8042 жыл бұрын

    Muy buena forma de explicar, gracias.

  • @vwpasstmeriland5341
    @vwpasstmeriland53419 жыл бұрын

    Excelente explicación , paso a paso.

  • @DarkCat003
    @DarkCat0039 жыл бұрын

    Excelente explicación, gracias por compartir.

  • @DiegoGarcia-jk3zs
    @DiegoGarcia-jk3zs9 жыл бұрын

    gracias tus guias son excelentes....

  • @agabriele77
    @agabriele773 жыл бұрын

    Excelente muy didáctico, muchas gracias

  • @BeatrizLopess
    @BeatrizLopess9 жыл бұрын

    Muy buena la explicación!! muchas gracias.

  • @cristopherlarios3433
    @cristopherlarios34337 жыл бұрын

    Gracias Muy Bien Explicado!!!

  • @tonny00005
    @tonny000057 жыл бұрын

    Muchas gracias. Muy bien explicado

  • @helriper27hr
    @helriper27hr11 жыл бұрын

    Gracias excelentes tus tutoriales!

  • @elkingutierrex9580
    @elkingutierrex95806 жыл бұрын

    Excelente tutorial!!!

  • @javiero.sernaquequintana3479
    @javiero.sernaquequintana34793 жыл бұрын

    Excelente aporte

  • @luisjarpa9419
    @luisjarpa94199 жыл бұрын

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

  • @misaellopez734
    @misaellopez7342 жыл бұрын

    Muy bien explicado muchas gracias

  • @NeyMC
    @NeyMC9 жыл бұрын

    Bien explicado y entendible

  • @antonititomunoz8760
    @antonititomunoz87606 жыл бұрын

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

  • @LatinRemixes25
    @LatinRemixes258 жыл бұрын

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

  • @norkaloayza2558
    @norkaloayza25586 жыл бұрын

    Muy bueno el tutorial, muchas gracias

  • @visoalgt
    @visoalgt11 жыл бұрын

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

  • @elyinanuar9360
    @elyinanuar93604 жыл бұрын

    Excelente video!!! gracias!!

  • @davidmonsuyovono9368
    @davidmonsuyovono93685 жыл бұрын

    Muchas gracias todo está muy claro.

  • @winmusic
    @winmusic3 жыл бұрын

    Muchisimas gracias por el tutorial!

  • 6 жыл бұрын

    Excelente explicación maestro! Dios bendiga tu vida!

  • @visoalgt

    @visoalgt

    6 жыл бұрын

    Mil Gracias! Saludos!

  • @yirlanivillalobos3341
    @yirlanivillalobos33416 жыл бұрын

    Excelente, muy buen video!

  • @keilaedithquirozmitre206
    @keilaedithquirozmitre2067 жыл бұрын

    gracias excelente explicación

  • @UnGatoBlue
    @UnGatoBlue9 жыл бұрын

    excelente video !! gracias

  • @michaelcarmona2032
    @michaelcarmona20327 жыл бұрын

    Magistral muchas gracias!!

  • @Zwaqquen
    @Zwaqquen7 жыл бұрын

    Excelente hermano, gracias.

  • @danielprieto5803
    @danielprieto58032 жыл бұрын

    Excelente Video!

  • @hubpelca10
    @hubpelca105 жыл бұрын

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

  • @cruzciti
    @cruzciti11 жыл бұрын

    excelente muy bien explicado

  • @diegovelasquez8139
    @diegovelasquez81394 жыл бұрын

    Dios lo bendiga, loviu

  • @cjmatusalem11
    @cjmatusalem119 жыл бұрын

    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,...)

  • @luismarin01
    @luismarin0111 жыл бұрын

    Wow, muy bien explicado

  • @mauriciohernandezcabrera9413
    @mauriciohernandezcabrera94134 жыл бұрын

    Gracias por la explicación :)

  • @achevez85
    @achevez856 жыл бұрын

    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 жыл бұрын

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

  • @CAROLINGEA
    @CAROLINGEA11 жыл бұрын

    Excelente! muchas gracias!

  • @victoreugeniogomezcampos4243
    @victoreugeniogomezcampos424311 жыл бұрын

    Muchas gracias profe

  • @EduardocChavezh
    @EduardocChavezh9 жыл бұрын

    Excelente video :)

  • @damercadoo
    @damercadoo3 жыл бұрын

    Buena explicacion

  • @dumby29
    @dumby296 жыл бұрын

    excelente video

  • @visoalgt
    @visoalgt11 жыл бұрын

    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.

  • @4520649
    @452064911 жыл бұрын

    Hey amigo muchas gracias . :)

  • @emiliosanchez723
    @emiliosanchez7234 жыл бұрын

    Agradecido...

  • @pedrocarreto100
    @pedrocarreto1004 жыл бұрын

    gracias gracias.

  • @yesidcalle01
    @yesidcalle013 жыл бұрын

    excelente

  • @Aprendeyatv
    @Aprendeyatv5 жыл бұрын

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

  • @valentinosalvi
    @valentinosalvi2 жыл бұрын

    gracias capo

  • @isamosso
    @isamosso8 жыл бұрын

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

  • @gozkill3r
    @gozkill3r5 жыл бұрын

    like en 50 segundos, muchas gracias

  • @luisfaucheuxrojas1052
    @luisfaucheuxrojas10524 жыл бұрын

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

  • @yosethrodriguez7209
    @yosethrodriguez72099 жыл бұрын

    gracias

  • @lilamelendez3408
    @lilamelendez34085 жыл бұрын

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

  • @MrCalboso
    @MrCalboso8 жыл бұрын

    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.

  • @HeavyDamage360
    @HeavyDamage3606 жыл бұрын

    Clarísimo.

  • @zultangt
    @zultangt9 жыл бұрын

    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 kzread.info/dash/bejne/ZHqdt61xfrrbiNY.html

  • @zultangt

    @zultangt

    9 жыл бұрын

    Muchisimas gracias Éxitos por siempre

  • @yesidcalle01
    @yesidcalle013 жыл бұрын

    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

  • @visoalgt
    @visoalgt11 жыл бұрын

    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.

  • @visoalgt
    @visoalgt10 жыл бұрын

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

  • @digredeth
    @digredeth11 жыл бұрын

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

  • @ricardopineda7468
    @ricardopineda74683 жыл бұрын

    y si antes de el update quiero hacer un IF ?

  • @LuisEnriqueHilarioEsteban
    @LuisEnriqueHilarioEsteban3 жыл бұрын

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

  • @vhcardenas

    @vhcardenas

    3 жыл бұрын

    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

    3 жыл бұрын

    @@vhcardenas mi pregunta referia de integration services

  • @MrJorgx3
    @MrJorgx35 жыл бұрын

    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 жыл бұрын

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

  • @adolfovanegas7802
    @adolfovanegas78025 жыл бұрын

    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

    5 жыл бұрын

    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

  • @Floopa_dios
    @Floopa_dios2 жыл бұрын

    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 жыл бұрын

    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 :)

  • @richardmartinvalentinvasqu9530
    @richardmartinvalentinvasqu95304 жыл бұрын

    SALUDOS JEAN JOAN BRUNO FRANK ABEL

  • @zebasxa5933
    @zebasxa59336 жыл бұрын

    amigo tienes el scrcipt de la base northwind

  • @visoalgt

    @visoalgt

    6 жыл бұрын

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

  • @LuisXDxdXD
    @LuisXDxdXD10 жыл бұрын

    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

  • @javiercassianobustamante4705
    @javiercassianobustamante47056 жыл бұрын

    Ahora como puedo regresarlo a la normalidad?

  • @alfredotrelles3708
    @alfredotrelles37087 жыл бұрын

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

  • @EduardoCapacita
    @EduardoCapacita4 жыл бұрын

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

  • @victorhugocardenas6494

    @victorhugocardenas6494

    4 жыл бұрын

    Personalizando tu While, podrías poner lineas intermedias

  • @visoalgt
    @visoalgt11 жыл бұрын

    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

  • @ignaciioGo
    @ignaciioGo6 жыл бұрын

    muy util visto 5 años despues ejejejeje

  • @visoalgt

    @visoalgt

    6 жыл бұрын

    Excelente que siga siendo de utilidad, Saludos!

  • @rrojas7596
    @rrojas75965 жыл бұрын

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

  • @vhcardenas

    @vhcardenas

    5 жыл бұрын

    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

    5 жыл бұрын

    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

    5 жыл бұрын

    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

    5 жыл бұрын

    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

    5 жыл бұрын

    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!

  • @ariscasilla
    @ariscasilla3 жыл бұрын

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

  • @LuisEnriqueHilarioEsteban
    @LuisEnriqueHilarioEsteban6 жыл бұрын

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

  • @visoalgt

    @visoalgt

    6 жыл бұрын

    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

  • @ronaldpaico3126
    @ronaldpaico31266 жыл бұрын

    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 жыл бұрын

    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.

  • @jonathanverasegura6989
    @jonathanverasegura69896 жыл бұрын

    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!

  • @howtobasicc24
    @howtobasicc242 жыл бұрын

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

  • @Cjara1119
    @Cjara111911 жыл бұрын

    Entonces no lo vea