Funzione di creazione tabella differenziata a seconda dei valori passa...

martedì 17 maggio 2011 - 09.28

morisco Profilo | Newbie

Ciao a tutti ragazzi

Ambiente applicativo: SQL SERVER 2000

Ho bisogno di un vostro consiglio.

Vorrei creare una funzione con lo scopo di creare di volta in volta una tabella utilizzando una BULK INSERT a seguito di tre valori passati:
- nome della tabella da creare
- path del file che contiene lo schema della tabella in formato XML
- path del file txt che contiene i dati da caricare.

Trattandosi di molteplici tabelle, ognuna avente il proprio schema ho creato vari file sql che contengono appunto la struttura della tabella da creare e che io di volta in volta dovrò richiamare a seconda del primo valore passato alla funzione.

Faccio un esempio.

Prova.sql

CREATE TABLE [dbo].[Prova]( <--------------------------------------------- primo parametro passato
[colonna1] [varchar](8) NULL,
[colonna2] [varchar](13) NULL,
[colonna3] [varchar](1) NULL,
[colonna4] [varchar](1) NULL
) ON [PRIMARY]

SET ANSI_PADDING OFF

BULK INSERT [dbo].[Prova]
FROM 'c:\desktop\file1.txt' <--------------------------------------------- secondo parametro passato
WITH ( FORMATFILE = 'c:\desktop\file1.xml', KEEPNULLS ) <--------------------------------------------- terzo parametro passato

UPDATE DBO.Prova SET colonna1 = CASE WHEN RTRIM(colonna1) = '' THEN NULL ELSE RTRIM(colonna1) END

Insomma a seconda che passo il valore Prova, Prova1, Prova2 ecc... la funzione deve caricare la corretta struttura dell'sql, effettuare la corretta sstituzone del parametro2 e del parametro3 e creare la tabella

Spero di essere stato chiaro.

Che metodo mi consigliate per creare un qualcosa di prestante e funzionale???

Ho letto anche questo post http://msdn.microsoft.com/en-us/library/w2kae45k%28v=vs.80%29.aspx che studierò, per vedere di sviluppare una CLR function

carloalberto Profilo | Junior Member

Ciao, in una caso simile al tuo dove avevoi bisogno di creare un tabella con struttura condizionata da parametri. Ho utilizzato una store che in base hai parametri usati mi creva la tabella relaativa. I dati della struttura veniva presi da una tabella in cui trovavo lo schema della tabella.
Carlo Alberto
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5