Bonjour,
j'au une base de donnée avec plusieurs schémas.
j'ai aussi un batch qui me permet d’exécuter des .sql
setSchema.sql:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 pause psql -f "%cd%\setSchema.sql" databasename user pause psql -f "%cd%\update.sql" databasename user echo database updated ! pause
update.sql
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 ALTER DATABASE databasename SET search_path = firstschema; ALTER DATABASE databasename SET search_path = secondschema; ALTER DATABASE databasename SET search_path = tirdschema; ALTER DATABASE databasename SET search_path = fourthschema;
ce que je veux faire c'est exécuter le fichier setSchema.sql ligne par ligne et entre chaque ligne appeler le fichier update sql quelque chose comme
Code : Sélectionner tout - Visualiser dans une fenêtre à part create table x(.....);
quand j'execute le .bat j'ai une erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 For /F "usebackq eol=;" %%A In ("%cd%\setSchema.sql") Do ( psql -c %%A -w --no-password databasename user pause psql -f "%cd%\db_update.sql" databasename user pause )
une idée ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ERREUR: erreur de syntaxe à la fin de l'entrée LIGNE 1 : ALTER ^
Partager