Bonjour à tous ,
Je travaille avec Firebird 2.04 sous C++Builder XE Pro
Voci ma problèmatique : j'ai une table impoortante > 1 millions d'enregistrements et à un moment donné mon utilisateur a besoin d'effectuer des modifications sur une fraction de cette table (<<1% de la table ) ;J'envisage donc de travailler sur une vue qui une fois créée permettra je l'espère une amélioration du traitement : Je souhaite donc créer ma vue en fonction d'un (Code) Mon souci est que je n'arrive pas à passer mon paramètre à la requete chargée d'effectuer la création de ma vue comme si dans une requete SQL "CREATE" on ne pouvait passer de paramètres ; en revanche si je passe ces parametres en "figé" ma vue se crée ....
Voci mon code
j obtiens l'erreur
Code c++ : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 MaRequete->Active=false; MaRequete->SQL->Clear(); marequete->SQL->Add("Create VIEW (code,champ1,champ2) as select code,champ1,champ2) from matable where code = :code "); MaRequete->ParamBynam("code")->Asinteger=805r; MaRequete->ExecSQL();
ERREUR SQL generale invalid request BLR at offset 34 !!!!!!
!! maintenant si j'utilise le code suivant ma vue se crée
Code c++ : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 marequete->SQL->Add("Create VIEW (code,champ1,champ2) as select code,champ1,champ2) from matable where code = 805");
Je ne suis pas certain que ce soit un problème SQL mais bon J'ai lu quelque part que Philippe makowski conseillait de passer par une procédure stockée : le souci est que je ne retrouve pas ce post et surtout aimerais comprendre pourquoi ma requete ne fonctionne pas .
merci d'avance pour les réponses éventuelles
Partager