PRÉPARÉ PAR: JEAN-FRANCOIS TRUDEL LINKEDIN: HTTP://CA.LINKEDIN.COM/IN/TRUDELJEFF 1 TABLE DES MATIÈRES QU’EST-CE QUE LE SQL PASS-THROUGH? SQL PASS-THROUGH IMPLICITE SQL PASS-THROUGH EXPLICITE UTILISATIONS / LIMITATIONS QUESTIONS 2 QU’EST-CE QUE LE SQL PASS-THROUGH? LE SQL PASS-THROUGH EST UNE COMPOSANTE DU SAS/ACCESS. CETTE COMPOSANTE FAIT APPEL DIRECTEMENT À LA BASE DE DONNÉES RELATIONNELLE CIBLE POUR RÉSOUDRE UNE REQUÊTE SQL. Serveur BD (Oracle, DB2, etc.) Serveur SAS Envoie de la Requête SQL Traitement de la Requête SQL Envoie des Données générées SQL Pass-through 3 PASS-THROUGH IMPLICITE IL EXISTE 2 VERSIONS DU PASS-THROUGH: IMPLICITE; LORSQUE L’ON UTILISE UN LIBNAME 4 PASS-THROUGH IMPLICITE LORS DE L’UTILISATION DU PASS-THROUGH IMPLICITE, LE SERVEUR SAS RECOMPILE LE CODE SAS (DATA STEPS, PROC SQL, ETC.) EN LANGAGE SQL ET LE TRANSFERT ENSUITE AU SERVEUR DE BASE DE DONNÉE POUR LE TRAITEMENT. Serveur BD (Oracle, DB2, etc.) Serveur SAS Pgm SAS Conversion SQL Pass-Through Traitement SQL Pgm SAS LISTE DES FONCTIONS ACCEPTÉES PAR LE PASS-THROUGH IMPLICITE EXEMPLE ORACLE : COUNT, SUM, AVG, MAX, SQRT, UPCASE, ETC. 5 PASS-THROUGH IMPLICITE IL FAUT FAIRE ATTENTION, LORSQUE LE PROGRAMME SAS N’EST PAS EN MESURE DE TRADUIRE ET FAIRE TRAITER LA COMMANDE EN TANT QUE REQUÊTE SQL, IL APPORTERA TOUTES LES DONNÉES NÉCESSAIRES POUR FAIRE LE TRAITEMENT SUR LE SERVEUR SAS. Serveur SAS Serveur BD (Oracle, DB2, etc.) LES INSTRUCTIONS I/O SONT CELLES QUI COUTENT LE PLUS EN TEMPS MACHINE. 6 PASS-THROUGH EXPLICITE EXPLICITE: LORSQUE L’ON FORCE LE TRANSFERT DU CODE SQL NATIF SUR LE SERVEUR DE DONNÉES. 7 PASS-THROUGH EXPLICITE LORS DE L’EXÉCUTION DU PASS-THROUGH EXPLICITE, LE SERVEUR SAS NE FAIT QUE TRANSFÉRER CE QUI EST IMBRIQUÉ DANS LA REQUÊTE VERS LE SERVEUR DE BASE DE DONNÉES. Serveur BD (Oracle, DB2, etc.) Serveur SAS Pgm SAS Pass-Through Traitement SQL Conversion SQL LA PORTION SQL DU PROGRAMME SAS ENVOYÉ VERS LE SERVEUR DE BD DOIT ÊTRE ÉCRITE EN SQL PROPRE AU SERVEUR DE BASE DE DONNÉES (ORACLE, DB2, ETC) 8 POURQUOI UTILISER LA VERSION EXPLICITE? REQUÊTES COMPLEXES COMPRENANT PLUSIEURS JOINTURES AVEC UN WHERE CLAUSE COMPLIQUÉE LECTURE / ÉCRITURE SUR LA BASE DE DONNÉES SANS RAPPORTER LES DONNÉES SUR LE SERVEUR SAS UTILISATIONS DE FONCTIONS NATIVES. TO_DATE, TRUNCATE, ETC. STORED PROCEDURE, ETC. COMMENT SAVOIR SI ÇA VAUT LE COUP? 9 LinkedIn: http://ca.linkedin.com/in/trudeljeff 10
© Copyright 2024 ExpyDoc