dbo.sp_ProcessBatchAi_TBB

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

10
Name Data Type Length Description
@accion varchar 20
@id_batch varchar 150
@response_api varchar -1
@model varchar 50
@prompt int 4
@status varchar 30
@created_by int 4
@fecha_consultado date 3
@id_input varchar 150
@batch_type varchar 10

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
create OR ALTER PROCEDURE dbo.sp_ProcessBatchAi_TBB
    @accion VARCHAR(20),
    @id_batch VARCHAR(150),
    @response_api VARCHAR(MAX) = NULL,
    @model VARCHAR(50) = NULL,
    @prompt INT = NULL,    
    @status VARCHAR(30) = NULL,
    @created_by INT = NULL,
    @fecha_consultado date = null, 
    @id_input VARCHAR(150) = NULL,
    @batch_type VARCHAR(10) = NULL
AS
BEGIN
    SET @accion = UPPER(@accion)

    -- Accion para insertar un batch
    IF(@accion = 'INSERT_BATCH')
    BEGIN
        INSERT INTO ai_batch_process(
            id_batch,
            response_api,
            id_model,
            id_prompt,
            status,
            created,
            created_by , 
            fecha_consultado,
            id_input,
            batch_type
        )
        VALUES(
            @id_batch,
            @response_api,
            @model,
            @prompt,
            @status,
            GETDATE(),
            @created_by, 
            @fecha_consultado,
            @id_input,
            @batch_type
        )
        RETURN
    END

    -- Accion que devuelve todos los registros
    IF(@accion = 'SELECT_ALL_BATCH')
    BEGIN
        SELECT
            ai_batch_process.id_batch,
            ai_batch_process.response_api,
            ai_batch_process.id_model,
            ai_batch_process.id_prompt,
            ai_batch_process.status,
            ai_batch_process.created,
            ai_batch_process.batch_type,
            ISNULL(users.first_name, '') + ' ' + ISNULL(users.last_name, '') AS usuario,
            ai_model.internal_model_name AS model_name,
            ai_prompts.prompt_name AS prompt_name, 
            ai_batch_process.fecha_consultado, 
            ai_batch_process.id_input
        FROM ai_batch_process
        LEFT JOIN 
            users ON users.user_id = ai_batch_process.created_by
        INNER JOIN 
            ai_model ON ai_model.id_model = ai_batch_process.id_model
        INNER JOIN 
            ai_prompts ON ai_prompts.id_prompt = ai_batch_process.id_prompt 
        RETURN
        
    END

    -- Accion que devuelve un solo registro
    IF (@accion = 'SELECT_ONE_BATCH')
    BEGIN
        SELECT
            ai_batch_process.id_batch,
            ai_batch_process.response_api,
            ai_batch_process.id_model,
            ai_batch_process.id_prompt,
            ai_batch_process.status,
            ai_batch_process.created,
            ai_batch_process.batch_type,
            ISNULL(users.first_name, '') + ' ' + ISNULL(users.last_name, '') AS usuario,
            ai_model.internal_model_name AS model_name,
            ai_prompts.prompt_name AS prompt_name, 
            ai_batch_process.fecha_consultado,
            ai_batch_process.id_input
        FROM 
            ai_batch_process
        LEFT JOIN 
            users ON users.user_id = ai_batch_process.created_by
        INNER JOIN 
            ai_model ON ai_model.id_model = ai_batch_process.id_model
        INNER JOIN 
            ai_prompts ON ai_prompts.id_prompt = ai_batch_process.id_prompt    
        WHERE 
            ai_batch_process.id_batch = @id_batch
        RETURN

    END

    -- Accion para editar el estado del batch
    IF(@accion = 'EDIT_BATCH')
    BEGIN
        UPDATE 
            ai_batch_process 
        SET 
            response_api = @response_api,
            id_input = @id_input,
            status = @status
        WHERE 
            @id_batch = @id_batch
    END


    -- Accion para devolver el ultimo batch procesado segun el tipo de batch
    IF(@accion = 'LAST_BATCH')
    BEGIN
        SELECT TOP 1 * FROM 
            ai_batch_process 
        WHERE 
            @batch_type = batch_type 
        ORDER BY 
            created 
        DESC
    END
END
GO

Used By

No items found