{"id":1493,"date":"2020-05-22T01:54:38","date_gmt":"2020-05-22T01:54:38","guid":{"rendered":"http:\/\/manualsqlserver.com\/?p=1493"},"modified":"2020-05-23T21:47:31","modified_gmt":"2020-05-23T21:47:31","slug":"variables-en-sql-server","status":"publish","type":"post","link":"https:\/\/manualsqlserver.com\/?p=1493","title":{"rendered":"Variables en SQL Server"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"200\" height=\"226\" src=\"https:\/\/manualsqlserver.com\/wp-content\/uploads\/2020\/05\/ManualSQLServer_Variables___D.png\" alt=\"\" class=\"wp-image-1494\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Variables en SQL Server<\/h2>\n\n\n\n<p>SQL Server permite el manejo de variables en la implementaci\u00f3n de c\u00f3digos T-SQL en cualquiera de los objetos que el usuario necesite crear, pudiendo ser procedimientos almacenados, cursores, triggers, funciones definidas por el usuario, etc.<\/p>\n\n\n\n<!--more-->\n\n\n\n<p><br>Las variables definidas en SQL Server al igual que cualquier otro programa tienen un \u00e1mbito, que puede ser desde un conjunto de instrucciones, una estructura condicional y una transacci\u00f3n. <\/p>\n\n\n\n<p style=\"font-size:24px\"><strong>Como crear variables en SQL Server<\/strong><\/p>\n\n\n\n<p>Para definir variables en SQL Server se utiliza la instrucci\u00f3n Declare. Toda variable debe iniciar con el s\u00edmbolo arroba \u00ab@\u00bb seguido del nombre y luego el tipo de dato.<\/p>\n\n\n\n<p style=\"font-size:22px\"><strong>Instrucci\u00f3n Declare<\/strong><\/p>\n\n\n\n<p>Permite crear una variable,  cursor o variable tipo tabla.<\/p>\n\n\n\n<p><strong>Sintaxis<\/strong><br>Declare @NombreVariable TipoDato [= Valor]<br><strong>Donde:<\/strong><br>@NombreVariable, es el nombre de la variable a crear.<br>TipoDato, es el tipo de dato de SQL Server.<br>[= Valor], es el valor iniciar de la variable.<br><\/p>\n\n\n\n<script async=\"\" src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js\"><\/script>\n<ins class=\"adsbygoogle\" style=\"display:block; text-align:center;\" data-ad-layout=\"in-article\" data-ad-format=\"fluid\" data-ad-client=\"ca-pub-2636008503986218\" data-ad-slot=\"1902193434\"><\/ins>\n<script>\n     (adsbygoogle = window.adsbygoogle || []).push({});\n<\/script>\n\n\n\n<p style=\"font-size:22px\"><strong>Como asignar el valor a una variable en SQL Server<\/strong><\/p>\n\n\n\n<p>Para asignar el valor a una variable en SQL Server se puede usar la instrucci\u00f3n Set o puede usarse la instrucci\u00f3n Select.<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Forma de uso de Set<\/strong><\/p>\n\n\n\n<p>Set @NombreVariable = Valor<\/p>\n\n\n\n<p style=\"font-size:22px\"><strong>Forma de uso de Select para asignar el valor a la variable<\/strong><\/p>\n\n\n\n<p>Select @NombreVariable = Expresi\u00f3n from Tabla\u2026<br>Tambi\u00e9n<br>Set @NombreVariable = (Select Expresi\u00f3n from Tabla)<br>En este caso, la expresi\u00f3n debe reportar un \u00fanico valor.<\/p>\n\n\n\n<p style=\"font-size:26px\"><strong>Ejemplos<\/strong><\/p>\n\n\n\n<p><strong>Crear una variable para un precio, asignar un valor y mostrarla.<\/strong><br>Declare @Precio Numeric(9,2)<br>Set @Precio = 250<br>Select @Precio<br>go<\/p>\n\n\n\n<p><strong>Se pueden definir varias variables en la misma instrucci\u00f3n Declare.<br>Usando Northwind, definir variables para capturar la cantidad menor de Stock, la cantidad mayor del Stock y la cantidad de Productos.  Para informaci\u00f3n <a href=\"https:\/\/manualsqlserver.com\/?p=207\">Ver Funciones de agregado.<\/a><\/strong><\/p>\n\n\n\n<p>use Northwind<br>go<br>Declare @StockMayor Numeric(9,2), @StockMenor Numeric(9,2), @CantidadProductos Int<br>select @StockMayor = MAX(P.UnitsInStock), @StockMenor = MIN(P.UnitsInStock),<br>@CantidadProductos = COUNT(P.ProductID) from Products As P<br>Select @StockMayor As &#8216;Mayor&#8217;, @StockMenor As &#8216;Menor&#8217;, @CantidadProductos As &#8216;Cantidad&#8217;<br>go<\/p>\n\n\n\n<p style=\"font-size:22px\"><strong>Variable de tipo texto<\/strong><\/p>\n\n\n\n<p>Declare @Nombre nvarchar(50)<br>Set @Nombre = &#8216;Trainer SQL Server&#8217;<br>&#8212; Ver la variable<br>select @Nombre<br>go<\/p>\n\n\n\n<p style=\"font-size:22px\"><strong>Variable para el nombre del empleado. Ver Concat_ws<\/strong><\/p>\n\n\n\n<p>Declare @Empleado nvarchar(100)<br>select @Empleado =<br>E.TitleOfCourtesy+Space(1)+<br>CONCAT_WS(&#8216; &#8216;, E.FirstName, E.LastName)<br>from Employees As E<br>select @Empleado<br>go<\/p>\n\n\n\n<p style=\"font-size:22px\"><strong>Variable para almacenar el Valor del stock de un producto<\/strong><\/p>\n\n\n\n<p>Declare @ValorStock Numeric(9,2)<br>Select @ValorStock = P.UnitPrice * P.UnitsInStock<br>from Products As P<br>select @ValorStock<br>go<\/p>\n\n\n\n<p><strong>Mas informaci\u00f3n:<\/strong><br><a href=\"https:\/\/manualsqlserver.com\/?p=522\">Variables tipo Tabla<\/a><br><a href=\"https:\/\/manualsqlserver.com\/?p=343\">Cursores<\/a><br><a href=\"https:\/\/manualsqlserver.com\/?p=1630\" target=\"_blank\" rel=\"noreferrer noopener\">Cursores con variables tipo tabla<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Variables en SQL Server SQL Server permite el manejo de variables en la implementaci\u00f3n de c\u00f3digos T-SQL en cualquiera de los objetos que el usuario necesite crear, pudiendo ser procedimientos almacenados, cursores, triggers, funciones definidas por el usuario, etc.<\/p><p><a class=\"more-link btn\" href=\"https:\/\/manualsqlserver.com\/?p=1493\">Seguir leyendo<\/a><\/p>\n","protected":false},"author":1,"featured_media":1494,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[155,51,156],"class_list":["post-1493","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-programacion","tag-declare","tag-select","tag-set","nodate","item-wrap"],"_links":{"self":[{"href":"https:\/\/manualsqlserver.com\/index.php?rest_route=\/wp\/v2\/posts\/1493","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/manualsqlserver.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/manualsqlserver.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/manualsqlserver.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/manualsqlserver.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1493"}],"version-history":[{"count":3,"href":"https:\/\/manualsqlserver.com\/index.php?rest_route=\/wp\/v2\/posts\/1493\/revisions"}],"predecessor-version":[{"id":1637,"href":"https:\/\/manualsqlserver.com\/index.php?rest_route=\/wp\/v2\/posts\/1493\/revisions\/1637"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/manualsqlserver.com\/index.php?rest_route=\/wp\/v2\/media\/1494"}],"wp:attachment":[{"href":"https:\/\/manualsqlserver.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1493"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/manualsqlserver.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1493"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/manualsqlserver.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1493"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}