jueves, 30 de marzo de 2023

generar int id compuesto sql server

 CREATE TABLE [dbo].[Tabla1](

[Id] [varchar](10) NOT NULL,

[Descripcion] [varchar](50) NOT NULL,

[Activo] [bit] NOT NULL,

[ParentId]  AS (CONVERT([int],left([id],charindex('.',[id]+'.')-(1)),0))

)

##

CREATE PROCEDURE [dbo].[GENERAR_ID_COMPUESTO] @idNuevo AS INT  

AS  

    BEGIN  

        DECLARE @id AS VARCHAR(20);  

        SET @id= CONVERT(VARCHAR(10), @idNuevo) + '.' + CONVERT(VARCHAR(20),  

        (  

            SELECT ISNULL(MAX(CONVERT(INTEGER, (CASE  

                                                    WHEN(LEN(Id) - LEN(REPLACE(Id, '.', ''))) = 1  

                                                    THEN SUBSTRING(Id, PATINDEX('%.%', Id) + 1, LEN(Id))  

                                                    WHEN(LEN(Id) - LEN(REPLACE(Id, '.', ''))) = 2  

                                                    THEN SUBSTRING(Id, PATINDEX('%.%', Id) + 1, PATINDEX('%.%', (SUBSTRING(Id, PATINDEX('%.%', Id) + 1, LEN(Id)))) - 1)  

                                                    ELSE 0  

                                                END))), 1) + 1  

            FROM Tabla1 

            WHERE(CASE  

                      WHEN(LEN(Id) - LEN(REPLACE(Id, '.', ''))) = 0  

                      THEN Id  

                      WHEN(LEN(Id) - LEN(REPLACE(Id, '.', ''))) > 0  

                      THEN SUBSTRING(Id, 0, PATINDEX('%.%', Id))  

                      ELSE 0  

                  END) = @idNuevo  

                 AND (CASE  

                          WHEN(LEN(Id) - LEN(REPLACE(Id, '.', ''))) = 2  

                          THEN REVERSE(SUBSTRING(REVERSE(Id), 0, PATINDEX('%.%', REVERSE(Id))))  

                          ELSE 0  

                      END) = 0  

        ));  

        SELECT @id;  

    END;  

##

--example

DECLARE @id as NUMERIC(18,0)      

EXECUTE Ceres.dbo.SYNC_GENERAR_NAVEID 23, @id OUTPUT;    

-- result: 23.3

--insert into Tabla1 (id) select @id

DECLARE @id as NUMERIC(18,0)      

EXECUTE Ceres.dbo.SYNC_GENERAR_NAVEID 23, @id OUTPUT;    

-- result: 23.4

--insert into Tabla1 (id) select @id

OUTPUT sql server

In SQL Server, you can return multiple output parameters from a stored procedure using the OUTPUT keyword for each output parameter. Here is an example of how to do this:

 ALTER PROCEDURE myStoredProcedure

    @inputParam1 INT,

    @inputParam2 VARCHAR(50),

    @outputParam1 INT OUTPUT,

    @outputParam2 VARCHAR(50) OUTPUT

AS

BEGIN

    -- your stored procedure code here

    SET @outputParam1 = 12345

    SET @outputParam2 = 'Hello World'

END



DECLARE @output1 INT

DECLARE @output2 VARCHAR(50)


EXEC myStoredProcedure 1, 'input2', @output1 OUTPUT, @output2 OUTPUT


SELECT @output1 AS 'Output 1', @output2 AS 'Output 2'

viernes, 24 de marzo de 2023

Integración Git/GitHub/VS2010

 https://elprogramadorperdido.wordpress.com/2012/12/07/integracion-gitgithubvs2010/

Integración Git/GitHub/VS2010

...

  • Integrar Git con Visual Studio 2010

Para integrar Git con Visual Studio 2010 debemos descargar la extensión Git Source Control Provider bien desde el propio Visual Studio

Herramientas->Administrador de extensiones->Galería en línea buscar el paquete Git Source Control Provider

o bien desde la siguiente url:

http://visualstudiogallery.msdn.microsoft.com/63a7e40d-4d71-4fbb-a23b-d262124b8f4c

Después de haber realizado la instalación, debemos reiniciar Visual Studio 2010 e ir a Herramientas->Opciones->Source Control, y seleccionar Git Source Control Provider.

SourceControlGit_VS2010

Por último nos quedaría por instalar las Git Extensions para poder manejarnos, sin utilizar la línea de comandos Git bash.

– URL de descarga: http://code.google.com/p/gitextensions/downloads/list

solo tenemos que descargar la última versión, instalar en nuestra máquina y listo, tendremos una nueva opción en el menu principal de Visual Studio llamada GIT.

Git_VS2010en el proximo post hablaremos de las acciones: git init, git remote, git commit, git pull, git push, etc…

jueves, 23 de marzo de 2023

ejecutar multiples SP_HELPTEXT SQL Server

https://forums.sqlteam.com/t/run-sp-helptext-for-multiple-views/19791


 CREATE TABLE #text ( id int IDENTITY(1, 1) NOT NULL, text_line varchar(max) NULL );

INSERT INTO #text EXEC sys.SP_HELPTEXT store1

INSERT INTO #text EXEC sys.SP_HELPTEXT store2