Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
9| 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 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
CREATE OR ALTER PROCEDURE dbo.sp_ProcessBatchAi
@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
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
)
VALUES(
@id_batch,
@response_api,
@model,
@prompt,
@status,
GETDATE(),
@created_by,
@fecha_consultado,
@id_input
)
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,
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,
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
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
IF(@accion = 'LAST_BATCH')
BEGIN
SELECT TOP 1 * FROM ai_batch_process ORDER BY created DESC
END
END
GO
GO
CREATE OR ALTER PROCEDURE dbo.sp_ProcessBatchAi
@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
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
)
VALUES(
@id_batch,
@response_api,
@model,
@prompt,
@status,
GETDATE(),
@created_by,
@fecha_consultado,
@id_input
)
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,
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,
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
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
IF(@accion = 'LAST_BATCH')
BEGIN
SELECT TOP 1 * FROM ai_batch_process ORDER BY created DESC
END
END
GO
Depends On
4Used By
No items found