Está en la página 1de 3

CURSORES EN SQL SERVER 2005 Que es un cursor?

Crear un Cursor Con este truco sabrs construir un cursor paso a paso. Debemos recordar que no hay que abusar de los cursores ya que son costosos para el servidor SQL Server. -- Declaramos una Variable donde se guardar los ID s D!CL"#! $Variable numeric D!CL"#! %ombreDelCursor C&#S'# ("S)*('#+"#D ('# -- #eali,amos la consulta que queremos guardar en la variable S!L!C) -ID. (#'/ -)abla. +ith0%oLoc12 -- "brimos el cursor '3!% %ombreDelCursor (!)C4 %!5) (#'/ %ombreDelCursor I%)' $ Variable +4IL! 0$$(!)C4*S)")&S 67 -82 9!:I% I( 0$$(!)C4*S)")&S 67 -;2 9!:I% -- 4acemos un print para ver que la variable es correcta 0Solo es a nivel de comentario< para probar que =unciona< cuando =uncione quitamos esta linea del print $Variable print $ Variable --#eali,ar las tareas deseadas< como updatear los usuarios< caducarlos< etc> 03odemos llamar a otros storeds>2 &3D")! )abla +ith0#o?Loc12 S!) !stado@; +4!#! Id&suario@$Variable !%D --"ccedemos al siguiente registro del cursor (!)C4 %!5) (#'/ %ombreDelCursor I%)' $ Variable !%D --Cerramos el cursor CL'S! %ombreDelCursor -- lo sacamos de la memoria D!"LL'C")! %ombreDelCursor

SET NOCOUNT ON DECLARE @vendor_id int, @vendor_name nvarchar(50), @me a!e varchar("0), @#rod$ct nvarchar(50) %R&NT '(((((((( )endor %rod$ct Re#ort ((((((((' DECLARE vendor_c$r or CURSOR *OR SELECT )endor&D, Name *RO+ %$rcha in!,)endor -.ERE %re/erred)endorStat$ 0 1 ORDER 23 )endor&D O%EN vendor_c$r or *ETC. NE4T *RO+ vendor_c$r or &NTO @vendor_id, @vendor_name -.&LE @@*ETC._STATUS 0 0 2E5&N %R&NT ' ' SELECT @me a!e 0 '((((( %rod$ct *rom )endor6 ' 7 @vendor_name %R&NT @me a!e

Truco: 3ara calcular la di=erencia entre =echas podemos usar el DateDi==.


DATEDIFF (datepart , startdate , enddate ) !n datepart podemos usarA Bear yy< yyyy quarter qq< q /onth mm< m dayo=year dy< y Day dd< d +ee1 ?1< ?? 4our hh minute mi< n second ss< s millisecond ms Ejemplo: &S! pubs :' S!L!C) D")!DI((0day< pubdate< getdate022 "S date (#'/ titles :' Trucos de Sql Server SQL Server. Sa er las ta las de una ase de datos

SQL Server tiene toda la in=ormaciCn de las tablas< claves primarias< campos< tipo de datos en varias tablas de sistema. !n una de ellas estan los nombres de las tablas. 3ara saber las tablas usaremos la siguiente selectA S!L!C) D (#'/ SBS'9E!C)S +4!#! 5)B3!@FuF

También podría gustarte