Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1277 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2  3  4  5  6
Page Suivante
Auteur Sujet :

Logiciels gratuits pour bases de données SQL

n°1017321
Arjuna
Aircraft Ident.: F-MBSD
Posté le 18-03-2005 à 13:57:49  profilanswer
 

Reprise du message précédent :
C'est fini oui ?

mood
Publicité
Posté le 18-03-2005 à 13:57:49  profilanswer
 

n°1017389
KrisCool
“Verbeux„
Posté le 18-03-2005 à 14:15:59  profilanswer
 

Arjuna a écrit :

C'est fini oui ?


 
Oui :o


---------------
Loose Change Lies | Bars | Last.fm
n°1017788
Arjuna
Aircraft Ident.: F-MBSD
Posté le 18-03-2005 à 17:34:00  profilanswer
 

Skylouck a écrit :

(heuresement puisque c SQL) par contre g ma preference pour Oracle car c celui que g utilisé le plus sinon SQL serveur bof Lot DTS et Proc Stockée bof, Ingres c celui que g le moins apprécié


 
Bah... Moi, là, maintenant, tout de suite, je viens de faire une requête à la con... Et euh... Comment dire...
 

Code :
  1. CREATE procedure icsd_ARTAssetList
  2. (
  3. @orgid   int,
  4. @userid   int,
  5. @date1   datetime,
  6. @date2   datetime,
  7. @invdate1  datetime,
  8. @invdate2  datetime,
  9. @leasescheduleid int = 0,
  10. @leasecontractid int = 0,
  11. @duration  int = 0,
  12. @brand   varchar(255) = '%',
  13. @lineOfProduct  varchar(255) = '%',
  14. @manufacturerRef varchar(255) = '%',
  15. @description  varchar(255) = '%',
  16. @category  varchar(255) = '',
  17. @cat1   varchar(255) = '',
  18. @cat2   varchar(255) = '',
  19. @cat3   varchar(255) = '%',
  20. @serialnumber  varchar(255) = '%',
  21. @supplier  varchar(255) = '%',
  22. @invoice  varchar(255) = '%',
  23. @ref1   varchar(255) = '%',
  24. @ref2   varchar(255) = '%',
  25. @ref3   varchar(255) = '%',
  26. @ref4   varchar(255) = '%',
  27. @ref5   varchar(255) = '%',
  28. @orderby  varchar(255) = 'org'
  29. )
  30. AS
  31. BEGIN
  32. select orgid,
  33. name,
  34. leasescheduleid,
  35. schedule,
  36. -- inventory row
  37. -- inventory autoincrement
  38. manufacturerRef,
  39. SerialNumber,
  40. description,
  41. brand,
  42. lineOfProduct,
  43. category,
  44. cat1,
  45. cat2,
  46. cat3,
  47. supplier,
  48. numero,
  49. datecreation,
  50. reference1,
  51. reference2,
  52. reference3,
  53. reference4,
  54. reference5
  55. -- leasecontractid,
  56. -- contract,
  57. -- assetid
  58. from (
  59.  select o.orgid,
  60.   o.name,
  61.   ls.leasescheduleid,
  62.   ls.schedule,
  63. -- inventory row
  64. -- inventory autoincrement
  65.   a.ProductCode manufacturerRef,
  66.   a.SerialNumber,
  67.   a.description,
  68.   a.manufacture brand,
  69.   a.brand lineOfProduct,
  70.   zg.category,
  71.   a.catalogType cat1,
  72.   at1.value cat2,
  73.   at2.value cat3,
  74.   v.name supplier,
  75.   zf.numero,
  76.   zf.datecreation,
  77.   a.reference1,
  78.   a.reference2,
  79.   a.reference3,
  80.   a.reference4,
  81.   a.reference5
  82. --   lc.leasecontractid,
  83. --   lc.contract,
  84. --   a.assetid
  85.  from organization v, zfactures zf, zfactureasset zfa, sdViewAttributesValues at2, sdViewAttributesValues at1, zCatalogTypeGenre zg, asset a, zloyer zl, contractline cl, leasecontract lc, leaseschedule ls, zUserContractPerimeter zu, UserOrg uo, organization o
  86.  where (o.orgid = @orgid or @orgid = 0)
  87.  and o.type = 'C'
  88.  and o.active = 'A'
  89.  and uo.orgid = o.orgid
  90.  and uo.userid = @userid
  91.  and zu.userid = uo.userid
  92.  and zu.orgid = uo.orgid
  93.  and (zu.scheduleid = @leasescheduleid or @leasescheduleid = 0)
  94.  and ls.orgid = o.orgid
  95.  and ls.leasescheduleid = zu.scheduleid
  96.  and ls.active = 'A'
  97.  and ls.userights = 1
  98.  and lc.orgid = ls.orgid
  99.  and lc.leasescheduleid = ls.leasescheduleid
  100.  and (lc.leasecontractid = @leasecontractid or @leasecontractid = 0)
  101.  and (lc.leasecontractid = zu.contractid or zu.contractid = -1)
  102.  and lc.active = 'A'
  103.  and (lc.leasestopdate between @date1 and @date2 or @date1 > @date2)
  104.  and (datediff(m, lc.leasestartdate, lc.leasestopdate) = @duration or @duration = 0)
  105.  and cl.contractlineid = (select max(cl2.contractlineid)
  106.      from contractline cl2
  107.      where cl2.leasecontractid = lc.leasecontractid
  108.      and cl2.active = 'A')
  109.  and zl.leasecontractid = cl.leasecontractid
  110.  and zl.contractlineid = cl.ContractLineID
  111.  and a.orgid = o.orgid
  112.  and a.linetype in ('B', 'S')
  113.  and a.assetid = zl.assetid
  114.  and a.manufacture like @brand
  115.  and a.brand like @lineOfProduct
  116.  and a.description like @description
  117.  and a.catalogtype = @cat1
  118.  and zg.catalogType = a.catalogType
  119.  and zg.category = @category
  120.  and at1.assetid = a.assetid
  121.  and at1.attributename = zg.subcat1
  122.  and at1.value = @cat2
  123.  and at2.assetid = a.assetid
  124.  and at2.attributename = zg.subcat2
  125.  and at2.value like @cat3
  126.  and zfa.assetid = a.assetid
  127.  and zfa.leasescheduleid = ls.leasescheduleid
  128.  and zfa.leasecontractid = lc.leasecontractid
  129.  and zfa.contractlineid = cl.contractlineid
  130.  and zf.factureid = zfa.factureid
  131.  and zf.type = 'F'
  132.  and a.serialNumber like @serialNumber
  133.  and v.orgid = a.VendorOrgID
  134.  and v.type = 'V'
  135.  and zf.numero like @invoice
  136.  and (zf.datecreation between @invdate1 and @invdate2 or @invdate1 > @invdate2)
  137.  and a.reference1 like @ref1
  138.  and a.reference2 like @ref2
  139.  and a.reference3 like @ref3
  140.  and a.reference4 like @ref4
  141.  and a.reference5 like @ref5
  142.  union
  143.  select o.orgid,
  144.   o.name,
  145.   ls.leasescheduleid,
  146.   ls.schedule,
  147. -- inventory row
  148. -- inventory autoincrement
  149.   a.ProductCode manufacturerRef,
  150.   a.SerialNumber,
  151.   a.description,
  152.   a.manufacture brand,
  153.   a.brand lineOfProduct,
  154.   zg.category,
  155.   a.catalogType cat1,
  156.   at1.value cat2,
  157.   at2.value cat3,
  158.   v.name supplier,
  159.   zf.numero,
  160.   zf.datecreation,
  161.   a.reference1,
  162.   a.reference2,
  163.   a.reference3,
  164.   a.reference4,
  165.   a.reference5
  166. --   lc.leasecontractid,
  167. --   lc.contract,
  168. --   a.assetid
  169.  from organization v, zfactures zf, zfactureasset zfa, sdViewAttributesValues at2, sdViewAttributesValues at1, zCatalogTypeGenre zg, asset a, zloyer zl, contractline cl, leasecontract lc, leaseschedule ls, UserOrg uo, organization o
  170.  where (o.orgid = @orgid or @orgid = 0)
  171.  and o.type = 'C'
  172.  and o.active = 'A'
  173.  and uo.orgid = o.orgid
  174.  and uo.userid = @userid
  175.  and ls.orgid = o.orgid
  176.  and (ls.leasescheduleid = @leasescheduleid or @leasescheduleid = 0)
  177.  and ls.active = 'A'
  178.  and ls.userights = 0
  179.  and lc.orgid = ls.orgid
  180.  and lc.leasescheduleid = ls.leasescheduleid
  181.  and lc.active = 'A'
  182.  and (lc.leasecontractid = @leasecontractid or @leasecontractid = 0)
  183.  and (lc.leasestopdate between @date1 and @date2 or @date1 is null or @date2 is null or @date1 > @date2)
  184.  and (datediff(m, lc.leasestartdate, lc.leasestopdate) = @duration or @duration = 0)
  185.  and cl.contractlineid = (select max(cl2.contractlineid)
  186.      from contractline cl2
  187.      where cl2.leasecontractid = lc.leasecontractid
  188.      and cl2.active = 'A')
  189.  and zl.leasecontractid = cl.leasecontractid
  190.  and zl.contractlineid = cl.ContractLineID
  191.  and a.orgid = o.orgid
  192.  and a.linetype in ('B', 'S')
  193.  and a.assetid = zl.assetid
  194.  and a.manufacture like @brand
  195.  and a.brand like @lineOfProduct
  196.  and a.description like @description
  197.  and a.catalogtype = @cat1
  198.  and zg.catalogType = a.catalogType
  199.  and zg.category = @category
  200.  and at1.assetid = a.assetid
  201.  and at1.attributename = zg.subcat1
  202.  and at1.value = @cat2
  203.  and at2.assetid = a.assetid
  204.  and at2.attributename = zg.subcat2
  205.  and at2.value like @cat3
  206.  and zfa.assetid = a.assetid
  207.  and zfa.leasescheduleid = ls.leasescheduleid
  208.  and zfa.leasecontractid = lc.leasecontractid
  209.  and zfa.contractlineid = cl.contractlineid
  210.  and zf.factureid = zfa.factureid
  211.  and zf.type = 'F'
  212.  and a.serialNumber like @serialNumber
  213.  and v.orgid = a.VendorOrgID
  214.  and v.type = 'V'
  215.  and zf.numero like @invoice
  216.  and (zf.datecreation between @invdate1 and @invdate2 or @invdate1 > @invdate2)
  217.  and a.reference1 like @ref1
  218.  and a.reference2 like @ref2
  219.  and a.reference3 like @ref3
  220.  and a.reference4 like @ref4
  221.  and a.reference5 like @ref5
  222. ) tmp
  223. order by case @orderby
  224.  when 'org'  then name
  225.  when 'manufacturerRef' then manufacturerRef
  226.  when 'SerialNumber' then SerialNumber
  227.  when 'description' then description
  228.  when 'brand'  then brand
  229.  when 'lineOfProduct' then lineOfProduct
  230.  when 'category'  then category
  231.  when 'cat1'  then cat1
  232.  when 'cat2'  then cat2
  233.  when 'cat3'  then cat3
  234.  when 'supplier'  then supplier
  235.  when 'numero'  then numero
  236.  when 'datecreation' then datecreation
  237.  when 'reference1' then reference1
  238.  when 'reference2' then reference2
  239.  when 'reference3' then reference3
  240.  when 'reference4' then reference4
  241.  when 'reference5' then reference5
  242. end, case @orderby
  243.  when 'org'  then schedule
  244.  when 'manufacturerRef' then manufacturerRef
  245.  when 'SerialNumber' then SerialNumber
  246.  when 'description' then description
  247.  when 'brand'  then brand
  248.  when 'lineOfProduct' then lineOfProduct
  249.  when 'category'  then category
  250.  when 'cat1'  then cat1
  251.  when 'cat2'  then cat2
  252.  when 'cat3'  then cat3
  253.  when 'supplier'  then supplier
  254.  when 'numero'  then numero
  255.  when 'datecreation' then datecreation
  256.  when 'reference1' then reference1
  257.  when 'reference2' then reference2
  258.  when 'reference3' then reference3
  259.  when 'reference4' then reference4
  260.  when 'reference5' then reference5
  261. end
  262. END
  263. GO


 
Ce patakesse, je dois le faire tourner sur 4 pages ASP différentes. Chaque fois avec des filtres différents et des clauses order by différentes...
 
Hé bien je suis très content de pouvoir la mettre en proc stock, et gérer ça proprement.
 
(sans parler du fait que la requête seule met euh... un peu plus d'une minute à tourner... une fois passée en PS, elle ne fait plus que 2 secondes, ce qui est quelque peu mieu)


Message édité par Arjuna le 18-03-2005 à 17:34:49
n°1018008
Skylouck
Posté le 18-03-2005 à 21:26:41  profilanswer
 

Arjuna a écrit :

Bah... Moi, là, maintenant, tout de suite, je viens de faire une requête à la con... Et euh... Comment dire...
 

Code :
  1. CREATE procedure icsd_ARTAssetList
  2. (
  3. ...


 
Ce patakesse, je dois le faire tourner sur 4 pages ASP différentes. Chaque fois avec des filtres différents et des clauses order by différentes...
 
Hé bien je suis très content de pouvoir la mettre en proc stock, et gérer ça proprement.
 
(sans parler du fait que la requête seule met euh... un peu plus d'une minute à tourner... une fois passée en PS, elle ne fait plus que 2 secondes, ce qui est quelque peu mieu)


 
Je vois pas bien pourquoi tu me dis cela j'ai jamais dit qu'il n'y avait pas de proc stockée ou qu'elles n'avaient pas d'utilité , je les trouve moins pratique que sur Oracle.(mais c peut-être que je connais pas assez SQL Serveur  :sweat: )
 
Un exemple :  
 Tu veux regrouper un ensemble de proc stockée dans un pkg sous oracle alors que ds mes souvenirs tu ne peux pas le faire sous SQL serveur, et ce genre de chose est bien pratique pour regrouper les proc stockées liées à un programme particulier ;)  
 
Voilà désolé si tu as compris que je disais que les proc stockée n'avaient pas d'utilité au contraire je pense que c essentielle, comme les librairies en Forms - Reports ou meme en C ( g un doute sur la terminologie des ".h" )
 
Enfin voilà  [:the real pinzo]

n°1018200
Arjuna
Aircraft Ident.: F-MBSD
Posté le 19-03-2005 à 01:52:46  profilanswer
 

Bah dans SQL Server (tout comme dans Oracle d'ailleurs), les proc stocks sont tout simplement dans ta base de données. A partir de là, les regrouper par application n'est pas très utile, c'est rare que tu aies 25 programmes qui tapent dans une même base. Ensuite, une simple règle de nommage permet de ne pas s'éparpiller. Personnellement, la notion de package est pour moi tout à fait superflue. D'autant que l'intérêt principal des packages sous Oracle, c'est la capacité de les lier à un schéma. Etant donné que la gestions des droits sous SQL Server est autrement plus fine que sous Oracle, ce point n'a donc guère d'intérêt avec SQL Server.
 
Pour le reste, on fait rigoureusement les mêmes choses avec Oracle et SQL Server d'un point de vue PS.

n°1018209
Skylouck
Posté le 19-03-2005 à 08:13:38  profilanswer
 

Arjuna a écrit :

Bah dans SQL Server (tout comme dans Oracle d'ailleurs), les proc stocks sont tout simplement dans ta base de données.
Oui d'où le terme "stockée"  :D  
 
 A partir de là, les regrouper par application n'est pas très utile, c'est rare que tu aies 25 programmes qui tapent dans une même base.
Au contraire, sur Oracle Appli par exemple tu as une seule base mais plusieurs schéma, mais un seul schéma où sont stockée les pkg, fonctions donc tu n'imagine meme pas de nom bre de fonction qui peuvent exister.
 
Ensuite, une simple règle de nommage permet de ne pas s'éparpiller. Personnellement, la notion de package est pour moi tout à fait superflue. D'autant que l'intérêt principal des packages sous Oracle, c'est la capacité de les lier à un schéma. Etant donné que la gestions des droits sous SQL Server est autrement plus fine que sous Oracle, ce point n'a donc guère d'intérêt avec SQL Server.
 
Pour le reste, on fait rigoureusement les mêmes choses avec Oracle et SQL Server d'un point de vue PS.


 
 
Un petit exemple, pour essayer de te convaincre. Pour reprendre ton idée de nommage, et en gardant comme exemple l'erp Oracle Appli :
 tu peux retrouver une procédure stockée qui s'appelle load_row(là c la réalité  ;)  ) cette proc stockée gére l'update ou l'insert.
Si une ligne existe => elle appelle update_row  
sinon insert_row.
 
Donc ce principe est repris dans un multitude de pkg le nom des procédure ne change pas mais le nom du pkg oui ce qui permet de ne pas avoir des noms à rallonges pour le nom des proc stockée d'avoir une certaine cohérence mais aussi de faciliter la recherche d'informations dans un outil comme toad.
 
Voilà je sais pas si c claire, mais je ne dis pas cela pour te convaincre à tous prix, mais j'espére que tu vois la possibilité de pouvoir regroupé un ensemble de procédure stockée relative à un développement particulier dans un objet englobant ce qui se rapproche de la notion de classe d'objet dans Java avec (désolé pour la terminologie je m'en rappelle plus :whistle: ) les fonctions que l'on peut appliquer à l'objet t'imagine si tout était sur un seul niveau dans Java style {objet}_{fonction} cela serait illisible je pense.
 
Voilà  :hello:


Message édité par Skylouck le 19-03-2005 à 08:16:32
n°1019459
Arjuna
Aircraft Ident.: F-MBSD
Posté le 20-03-2005 à 23:32:33  profilanswer
 

Pas convaincu :p
 
De toute façon, moi j'utilise pas ce type de proc, moi je fais des "addUser" par exemple, qui sont un peu plus évoluées que de faire un simple insert dans une table :p

n°1366425
stiffler
Lâche mon profil putain ! :o
Posté le 15-05-2006 à 13:44:11  profilanswer
 

J'invoque moi1664 \[:dawa]/

n°1366441
jan san ka​r
profil : pas le bon
Posté le 15-05-2006 à 13:53:39  profilanswer
 

Prions pour son retour parmis ce forum perdu au milieu des integristes linuxiens/mySqliste.
On peut faire un fan club, je m'ennuie au boulot en ce moment et un petit débat serait pas mal :)
genre pourquoi ne pas stocker ça base de données dans des fichiers properties qui ont pour nom la clef de la données ?

n°1366470
moonboot
Posté le 15-05-2006 à 14:22:14  profilanswer
 

Arjuna a écrit :

Bah dans SQL Server (tout comme dans Oracle d'ailleurs), les proc stocks sont tout simplement dans ta base de données. A partir de là, les regrouper par application n'est pas très utile, c'est rare que tu aies 25 programmes qui tapent dans une même base. Ensuite, une simple règle de nommage permet de ne pas s'éparpiller. Personnellement, la notion de package est pour moi tout à fait superflue. D'autant que l'intérêt principal des packages sous Oracle, c'est la capacité de les lier à un schéma. Etant donné que la gestions des droits sous SQL Server est autrement plus fine que sous Oracle, ce point n'a donc guère d'intérêt avec SQL Server.
 
Pour le reste, on fait rigoureusement les mêmes choses avec Oracle et SQL Server d'un point de vue PS.


 
Il y a des avantages réels à utiliser des packages sous Oracle :
 
1) dès qu'une fonction ou une procédure du package est appelée, tout le package est monté en mémoire.
si une autre procédure du package est appelée, on économise alors des appels au disque.
 
2) si une table est modifiée (modif de colonne par exemple), toutes les procédures qui utilisent la table doivent être recompilées. Si elles ne sont pas dans un package, il faut les recompiler une par une et d'ans leur ordre de dépendance.

mood
Publicité
Posté le 15-05-2006 à 14:22:14  profilanswer
 

n°1366475
moonboot
Posté le 15-05-2006 à 14:24:45  profilanswer
 

en tout cas le sujet du post était bien mais le débat est grave parti en sucette :D
 
Pour apporter ma pierre à l'édifice :
 
j'ai travaillé principalement sous DB2 et Oracle.
je ne connais pas du tout SQLserver ou Postgresql. j'ai bossé un peu à titre personnel sur Mysql et Access.
je suis développeur et ne connais donc pas très bien la partie administration des bases de données.
 
Mysql je trouve ca très bien pour ce qui est du sql basique. J'ai l'impression que pour des requêtes un peu complexes, il y a encore quelques lacunes. Son gros avantage c'est que c'est de l'open source ce qui est synonyme pour moi d'amélioration. A ce que j'ai compris, PostGreSql est aussi open source et serait promis à un bel avenir.
 
Access, je n'en parle pas, je trouve qu'il n'a rien pour lui.
 
DB2 c'est bien mais limité en SQL pur, par contre vu que c'est du mainframe, les temps de réponses n'ont rien à voir avec les autres SGBD.
UDB (équivalent DB2 mais pour autres plateformes que MVS) j'ai utilisé un peu, ca ressemble bcp à DB2 les temps de réponses en moins.
 
Oracle, en tant que développeur, je trouve ça vraiment vraiment bien. Il ya énormément de plus au niveau SQL qui facilitent tellement la vie et le code : fonctions analytiques, opérations de groupe, expressions régulières, opérations sur les hiérarchies, objets et collections...  


Message édité par moonboot le 15-05-2006 à 14:43:47
n°1367695
Berceker U​nited
PSN : berceker_united
Posté le 16-05-2006 à 15:50:11  profilanswer
 


je confirme ! c'est merdique :/

n°1369219
gocho
Posté le 17-05-2006 à 22:07:23  profilanswer
 

eh  
moi aussi je suis etudiant en informatique de gestion et je suis ne en 1985, j'peux le remplacer? [:autobot]  
Je gere carrement plus les DB qu'Harko, d'ailleurs je pense aussi que je peux lui apprendre le C# et le python a masklinn....
 
 
 
 
[:pingouino]
 
 
 
 
 
alors ? j'suis pris? [:dawa]


---------------
Mon feedback
n°1370214
0x90
Posté le 19-05-2006 à 00:47:02  profilanswer
 

Quelqu'un peut faire un résumé ? [:0x90]

n°1370215
Sh@rdar
Ex-PhPéteur
Posté le 19-05-2006 à 00:55:37  profilanswer
 

0x90 a écrit :

Quelqu'un peut faire un résumé ? [:0x90]


 
 
mysql ça roxxe mais personne sait s'en servir alors tout le monde pense que ça suxxe :o


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°1370358
Berceker U​nited
PSN : berceker_united
Posté le 19-05-2006 à 10:47:44  profilanswer
 

Sh@rdar a écrit :

mysql ça roxxe mais personne sait s'en servir alors tout le monde pense que ça suxxe :o


+1 !... il y a beaucoup de possibilité.

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  6
Page Suivante

Aller à :
Ajouter une réponse
 

Sujets relatifs
Quelle base de donnees avec VB .NET??Génération de script de base de données
VB6 + SQLprobleme de test sur une valeur sortie d'une requete SQL
base de données sur PDA Cassiopeia EM 505requête SQL dans value d'une zone texte?
Problème d'insertion de donnéesAccess et SQL
aspirer bases sql[SQL Server] Drop primary key
Plus de sujets relatifs à : Logiciels gratuits pour bases de données SQL


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR