Anar al contingut

Procediments almagasenats autocreables

De L'Enciclopèdia, la wikipedia en valencià

Un procediment almagasenat autocreable és un grup d'instruccions que porten a terme un procediment definit, que es termina de crear a través de l'enviament de paràmetros. En lo sucesivo els cridarem "Au_Sp".

Introducció

[editar | editar còdic]

Els Au_Sp consten de 2 parts:

La primera part, són els paràmetros que rep, els quals terminaran de crear en forma l'instrucció.
La segona part és un bloc d'instrucció d'un procediment predefinit.

Els Au_Sp es deuen entendre com a rutines preestablides per a l'automatisació de processos redundantes o que es repetixen periòdicament, i per tant no són procediments que es creen sense res de còdic escrit, ya que per a això existixen plantillas o templates. Els Au_Sp usen com a principal ferramenta el poder fer us de l'enviament de paràmetros, aixina com d'instruccions que permeten la creació d'una instrucció a través d'estos com és el cas de l'instrucció EXECUTE de SQL Server.

El terme Au_Sp és una manera de catalogar una aplicació dels procediments almagasenats, i la definició d'este tipo de procediment està basada en la definició de procediment almagasenat i en els usos que s'han donat pels diversos administradors de DBA, i en els eixemples de creació dels mateixos descrits en el llibre "Writing Stored Procedures with Microsoft SQL Server" d'Howard Sams, aixina com dels diversos eixemples que es troben actualment en Internet.

Els Au_Sp són creats quan es té un procediment igual que es corre en vàries taulas, bases o periòdicament. Veuen la seua utilitat sobretot en aplicacions que manegen procediments estandardisats en taules d'estructures similars o idèntiques. Podem comparar-los en les rutines que es troben en un archiu.bas en el llenguage Visual Basic o be com una classe per als que programen en C/C++ o Java ya que com la definició de procediments almagasenats indica, estes llínees de còdic només esperen la seua eixecució per a realisar una instrucció, i agreguem la versatilitat del treball en paràmetros. Aixina podem crear un Au_Sp que continga una estructura o plantilla per a una taula en una base de senyes específica.

Eixemple

[editar | editar còdic]

Este és un eixemple d'este tipo de procediment (este eixemple està basat en el manejador SQL Server). Este eixemple crea una taula en una estructura definida, en una base de senyes específica, este procediment deu ser creat en la base de senyes MASTER. Este procediment és anomenat per una funció tots els dies a les 00:10 otorgant-li com a nom de taula HYS_"FECHAACTUAL".

    SET QUOTED_IDENTIFIER OFF 
    GO
    SET ANSI_NULLS OFF 
    GO
    CREATE PROCEDURE sp_Crear_Taula_Recicle
        (BaseDeDatos SYSNAME,TablaRecicle SYSNAME)  AS
        DECLARE INSTRUCCION1 CHAR(2000)
        DECLARE INSTRUCCION2 CHAR(2000)
    SELECT INSTRUCCION1='' +
        'CREATE TABLE [' + BaseDeDatos + '].[dbo].[' + TablaRecicle + '] (' +
        '[Aneu_Reciclage] [numeric](18, 0) IDENTITY (1, 1) NOT NULL,' +
        '[Data_Exportacion] [datetime] NOT NULL,' +
        '[Nom] [char] (40) COLLATE database_default NOT NULL,' +
        '[Patern] [char] (30) COLLATE database_default NOT NULL,' +
        '[Matern] [char] (30) COLLATE database_default NOT NULL,' +
        ') ON [PRIMARY] '
    SELECT INSTRUCCION2='' +
        'ALTER TABLE [' + BaseDeDatos + '].[dbo].['+TablaRecicle+'] WITH NOCHECK ADD  ' +

'CONSTRAINT [DF_'+TablaRecicle+'_Patern] DEFAULT ('+CHAR(39)+CHAR(39)+') FOR [Patern],' +
        'CONSTRAINT [DF_'+TablaRecicle+'_Matern] DEFAULT ('+CHAR(39)+CHAR(39)+') FOR [Matern],' +
        'CONSTRAINT [DF_'+TablaRecicle+'_Resultat] DEFAULT ('+CHAR(39)+CHAR(39)+') FOR [Resultat],' +
        'CONSTRAINT [PK_'+TablaRecicle+'] PRIMARY KEY  CLUSTERED ' +
        '(' +
            '	[Aneu_Reciclage]' +
        ')  ON [PRIMARY] '


Referències

[editar | editar còdic]