AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Mixed joins suchen

Ein Thema von MyRealName · begonnen am 20. Sep 2017 · letzter Beitrag vom 25. Sep 2017
Antwort Antwort
Benutzerbild von MyRealName
MyRealName

Registriert seit: 19. Okt 2003
Ort: Heilbronn
679 Beiträge
 
Delphi 10.4 Sydney
 
#1

Mixed joins suchen

  Alt 20. Sep 2017, 18:54
Datenbank: firebird • Version: 3 • Zugriff über: UniDAC
Mal 'ne Frage :

In FB3 sind ja mixed Joins nicht mehr erlaubt, also sowas wie :

Code:
SELECT A.ID, B.Name, C.Gehalt
FROM TableA A, TableB B
LEFT JOIN TableC C ON (B.Id=C.Id)
WHERE A.Id=B.Id
IN Fb 2.5 geht das noch.
Jetzt habe ich 540 Stored Procs und 300 trigger in meiner DB
Gibt es eine Möglichkeit über RegEx sowas zu suchen in einem DB Script ?

Danke
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#2

AW: Mixed joins suchen

  Alt 20. Sep 2017, 19:18
Alles was zwischen FROM und JOIN ein Komma hat?
Gruß, Jo
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#3

AW: Mixed joins suchen

  Alt 21. Sep 2017, 08:58
regex:from.*,.*join
mit Modifikatoren i, s
für case insensitive und Zeilenumbrüche.

Könnte sein, dass irgendein subselect in der From Clause das bricht, aber das sind vielleicht dann nicht viele.
Gruß, Jo
  Mit Zitat antworten Zitat
Benutzerbild von MyRealName
MyRealName

Registriert seit: 19. Okt 2003
Ort: Heilbronn
679 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Mixed joins suchen

  Alt 22. Sep 2017, 16:07
Danke für die Antwort.

Scheinbar geht es so : /(FROM)([^,]*)(,)([^]*)(JOIN)/igm

Zumindest mit https://regexr.com/

Geht doch noch nicht ganz. Wenn ich mehrere Queries habe (was ja die idee ist), dann findet er einen match vom ersten FROM bis zum letzten JOIN anstatt vom FROM bis zum nächsten JOIN

Geändert von MyRealName (22. Sep 2017 um 19:42 Uhr) Grund: Lösung doch nicht gefunden
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#5

AW: Mixed joins suchen

  Alt 23. Sep 2017, 09:32
Kommt drauf an, was da betroffen ist, reine SQL Scripte, in Delphi Code fließend.
Ein ; o.ä. excluden...
Gruß, Jo
  Mit Zitat antworten Zitat
SProske

Registriert seit: 16. Feb 2015
Ort: Halle/S.
116 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#6

AW: Mixed joins suchen

  Alt 23. Sep 2017, 10:32
Versuchs doch mal mit
Code:
(FROM)((?!JOIN)[^,])*(,)((?!JOIN)[^,])*(JOIN)
Die Herangehensweise dazu nennt sich Tempered Greedy Token, falls du dich belesen willst.
Sebastian
  Mit Zitat antworten Zitat
Benutzerbild von MyRealName
MyRealName

Registriert seit: 19. Okt 2003
Ort: Heilbronn
679 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Mixed joins suchen

  Alt 23. Sep 2017, 18:25
ok, ich konnte es in meinen SPs auf 9 stored procs, die der RegEx runterziehen und die waren ok. Von daher bin ich soweit zufrieden, dass ich nicht alles händisch durchsuchen musste. Das nächste wird ein directoryscanner sein, den ich schrieben muss um im Code und in den Komponenten properties danach suche.

Danke für die Hilfe an alle
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#8

AW: Mixed joins suchen

  Alt 24. Sep 2017, 23:27
.. soweit zufrieden, dass ich nicht alles händisch durchsuchen musste. Das nächste wird ein directoryscanner sein, den ich schrieben muss um im Code und in den Komponenten properties danach suche.
Wie wär es mit einem Editor, der Dateien per regex durchsucht? Mglw sogar per Delph IDE?

Außerdem:
Bei einer konsequenten Verwendung von Views kann man sich solche Aktionen weitgehend ersparen.
Gruß, Jo
  Mit Zitat antworten Zitat
Benutzerbild von MyRealName
MyRealName

Registriert seit: 19. Okt 2003
Ort: Heilbronn
679 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: Mixed joins suchen

  Alt 25. Sep 2017, 15:43
Der code ist geerbt. Der kam schon so

Aber neu war mir, dass man direkt in Delphi mit RegEx suchen kann im Find DIalog, ist mir nie aufgefallen. Allerdings habe ich bisher auch nie RegEx benutzt. Ich denke mal, dass ich soweit alles gefunden habe und das ein paar Wochen schneller als gedacht

Danke nochmal.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:54 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz