Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Insert desde SP o desde Dataset (https://www.clubdelphi.com/foros/showthread.php?t=86977)

RedVenom 30-10-2014 21:53:08

Insert desde SP o desde Dataset
 
Estoy empezando a tratar de mejorar mis practicas como programador y me surge la duda ¿Qué e lo correcto hacer insert desde un procedimiento almacenado o hacer insert desde el dataset de la aplicación?, ¿cuando se deben usar procedimientos almacenados, cuando triggers y cuando se deben hacer las operaciones directamente desde la aplicación?.

Espero me puedan orientar o me puedan dar alguna referencia sobre esto.

Gracias.

Caminante 30-10-2014 22:22:00

Hola sin ser un experto (Aun sigo aprendiendo) te diré que la manera de hacerlo dependerá del contexto de tu aplicación. Habra momentos en que manejar los datos desde la aplicación pueden ser una buena solución; en otros casos no. Como te dije depende.
Aunque lo de aplicar las actualizaciones desde procedimientos almacenados es una opción que estoy pensando aplicar.

Saludos

Casimiro Notevi 30-10-2014 22:43:34

Pues sí, depende, siempre depende.
"Normalmente" prefiero un dataset y pasarle los parámetros.

Neftali [Germán.Estévez] 31-10-2014 12:33:26

Lo normal si estás programando en delphi es que lo hagas desde la aplicación, usando datasets (Tables o Querys -SQL-)
También puedes realizar una inserción desde un STORED PROCEDURE. Esto tiene ventajas e inconvenientes, de ahí que todo dependa de determinados parámetros.

La inserción desde un SP será más eficiente pues se hace desde el propio servidor (sobre todo cuantos más datos tengas que insertar), pero lleva más trabajo de programación y desde nuestro punto de vista son más incómodos de trabajar (porque no podemos debugarlos, poner watches, breakpoints, logs,... como hacemos en un programa de delphi -en realidad si se puede en algunos sistemas pero es más costoso-).
Otro problema que traen los SP (y yo lo he sufrido) es que si algún día cambias de Base de Datos, tu programa Delphi, funcionará casi al 100% (dependiendo de la compatibilidad), pero tus SP y triggers es posible que no sean compatibles, así que tendrás que reescribirlos para la nueva Base de Datos.

CONCLUSIÓN (personal): La inserción con SP tiene grandes ventajas, como he dicho sobre todo para inserción/update/borrado de datos masivos, o cuando necesitas un proceso que debe realiza muchas consultas y trabajo de Base de Datos. Por ejemplo extracción de datos estadísticos, consolidación de datos, datos para listados,...
En esos casos yo opto por usar Stored Procedures. En el resto de casos suelo trabajar desde la aplicación , sea con Datasets o con SQL directamente.

Casimiro Notevi 31-10-2014 12:36:18

Cita:

Empezado por Neftali (Mensaje 484068)
CONCLUSIÓN (personal): La inserción con SP tiene grandes ventajas, como he dicho sobre todo para inserción/update/borrado de datos masivos, o cuando necesitas un proceso que debe realiza muchas consultas y trabajo de Base de Datos. Por ejemplo extracción de datos estadísticos, consolidación de datos, datos para listados,...
En esos casos yo opto por usar Stored Procedures. En el resto de casos suelo trabajar desde la aplicación , sea con Datasets o con SQL directamente.

^\||/^\||/^\||/


La franja horaria es GMT +2. Ahora son las 08:20:26.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi