Skip to content
Extraits de code Groupes Projets
Valider 4036970b rédigé par marcimat's avatar marcimat
Parcourir les fichiers

Création et Suppression de Vues SQL pour les 3 serveurs PG, SQLite et MySQL

(et correction d'un petit bup pg sur sql_showtable)

- Introduction de 3 fonctions :
* sql_get_select() : qui reprend les mêmes arguments que sql_select() mais retourne la syntaxe de la requete sans l'executer
* sql_create_view($nom, $requete_select) : crée une vue nommée $nom avec la selection $requete_select
* sql_drop_view($nom) : supprime une vue

- Attention, comme déjà signalé, si dans une selection il y a un champ préfixé d'un nom de table ou d'un alias : a.titre, il faut absolument lui donner un nom, sinon SQLite ne peut pas relire le champ (stocké 'a.titre' et non 'titre' dans sa vue). Dans ce cas faire : a.titre AS titre .

- exemple inutile :

$sel = sql_get_select(array('id_article'=>'id_article', 'titre'=>'titre'),'spip_articles');
echo "requete select : $sel<br />";
sql_create_view('vue_nom', $sel);

if ($res = sql_select(array('id_article', 'titre'),'vue_nom','','','','10')){
	while ($r = sql_fetch($res)){
		echo "*" . $r['id_article'] . " - " . $r['titre'] . "<br />";
	}	
}

sql_drop_view('vue_nom');
parent 8295b03c
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
Chargement en cours
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter