Eseguire piu righe di ALTER TABLE su ACCESS in un unico script SQL

mercoledì 13 aprile 2016 - 12.00
Tag Elenco Tags  VB.NET  |  .NET 4.0  |  Windows 7  |  Visual Studio Express  |  MySQL 5.1  |  Access (.mdb)  |  Chrome  |  Javascript  |  CSS 3.0

ravalon Profilo | Expert

Salve a tutti,
ho necessità di alterare un DB ACCESS tramite l'esecuzione di uno script SQL;

Sono 4 righe in tutto ma ottengo errore su ALTER TABLE se eseguo tutte le righe insieme, mentre FUNZIONA se eseguo riga per riga da script sql separati.

Questo è lo script SQL:

ALTER TABLE Prodotti ADD COLUMN Prezzo DECIMAL(7,2) NOT NULL DEFAULT 0
ALTER TABLE OrdiniGenerati ADD COLUMN Prezzo DECIMAL(7,2) NOT NULL DEFAULT 0
CREATE TABLE workver (dbversion Long)
INSERT INTO workver (dbversion) VALUES (2000)

Come detto ho risolto creando 4 file SQL separati e lanciandoli in maniera ciclica ma non mi pare una buona soluzione perchè vorrei che la modifica avvenisse o in blocco o per nulla.

Come devo fare per eseguire le 4 righe in un unico momento senza ottenere l'errore ?

Grazie a chi vorrà aiutarmi

Codadilupo Profilo | Newbie

Hai provato tra un comando e l'altro a mettere ";" (punto e virgola)...

ravalon Profilo | Expert

Si ho provato ma non cambia niente...

Leggendo qua e la ho trovato che le specifiche di ACCESS non permettono di eseguire piu di un ALTER TABLE per ogni esecuzione...il che tornerebbe con la soluzione che ho adottato, ovvero eseguire ogni riga da script separati, ovvero un comando per volta...

renarig Profilo | Expert

>ho necessità di alterare un DB ACCESS tramite l'esecuzione di
>uno script SQL;
>
>Sono 4 righe in tutto ma ottengo errore su ALTER TABLE

Ma non ho ben capito come lanci lo script ?

è una query di comando all'interno di Access ???
è una routine VBA ???
è un file con estensione .vbs ???
è un file con estensione .bat ???
altro ???

Facci sapere

ravalon Profilo | Expert

E' uno script SQL che lancio da una mia routine VB.NET ben consolidata.

Anche se lancio la query da un DB manager (database.net) ottengo lo stesso errore, a meno che non metta la parola "GO" dopo ogni riga, che in sostanza non fa altro che spezzettare l'esecuzione delle query in singole query, per cui si ritorna al discorso che ACCESS non permette il lancio di più comandi consecutivi di ALTER nella medesima interrogazione.

renarig Profilo | Expert

>che ACCESS non permette il lancio di più comandi consecutivi
>di ALTER nella medesima interrogazione.

A memoria mia il problema non è specifico di ALTER
bensi più in generale Access non consente di inviare
comandi consecutivi ( che comunque devono essere separati da ; )
nella medesima query

io ho provato a fare dei semplici test e non mi riesce
neanche di inviare in consecutiva 2 banali INSERT

ma tu riesci ad eseguire questa ???
INSERT INTO workver (dbversion) VALUES (2000); INSERT INTO workver (dbversion) VALUES (2000);


Hai attivato la "Sintassi compatibile SQLServer(ANSI92)" ???
-- File
----Opzioni
------Progettazione Oggetti

Facci sapere
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5