-
da wäre eine View auch noch eine Option, aber ich will dir ja die UDF nicht ausreden. Gebe doch mal den Spalten Namen (select f.astnum astnum, ....)
D*B
 Zitat von e_sichert
ja, ich könnte den Select auch vom Clientprogramm (VS2005 und C#) schicken aber ich habe im "LIVE" Select 5 einzelne Select's mit UNION verknüpft von denen jeder nochmal mit 3 Dateien per join verbunden ist und ich verspreche mir beim Aufruf einer UDF einfach einen Performance Gewinn.
Ich habe das gleiche auch schon mit einem MS SQL Server gemacht und da ist der Performancegewinn erheblich.
-
Das mag für den SQL-Server ja noch gelten, aber dies gilt nicht mehr für die AS/400.
Egal ob UDF/Procedure oder direktes SQL, der Optimizer schlägt immer gleich zu.
Zumal du mit DISALLOW PARALLEL ja auch noch Performanceeinschränkungen definierst.
Mach lieber, wie Dieter vorgeschlagen hat , eine View und geh direkt mit SQL dran.
Wenn ich mir deinen Join so ansehe, dann benötigst du ja keine Felder aus dem Join.
In diesem Fall arbeite lieber mit:
where ... exists ...
-
 Zitat von Fuerchau
Das mag für den SQL-Server ja noch gelten, aber dies gilt nicht mehr für die AS/400.
Egal ob UDF/Procedure oder direktes SQL, der Optimizer schlägt immer gleich zu.
Zumal du mit DISALLOW PARALLEL ja auch noch Performanceeinschränkungen definierst.
Mach lieber, wie Dieter vorgeschlagen hat , eine View und geh direkt mit SQL dran.
Wenn ich mir deinen Join so ansehe, dann benötigst du ja keine Felder aus dem Join.
In diesem Fall arbeite lieber mit:
where ... exists ...
Hallo Ferchau
In meinem richtigen Statement brauche ich schon mehr Felder aus der verbundenen Datei. Ich habe das nur für die Anfrage gekürzt.
Ich denke ich probiere das jetzt doch mal mit einer View.
-
Das hatte ich schon probiert - funktioniert auch nicht.
Das seltsame daran ist das die beiden Select's mit dem UNION außerhalb der UDF einwandfrei funktionieren.
Wenn ich in der UDF Definition vom zweiten Select Statement die Sekundärdatei weg nehme funktioniert die UDF Erstellung.
Wenn bei der UDF Erstellung der Fehler auftritt (so wie im obigen Beispiel) springt der Cursor auf das erste Feld (F.AstNum) des zweiten Selects.
[IMG]file:///C:/DOKUME%7E1/Sichert1/LOKALE%7E1/Temp/moz-screenshot.jpg[/IMG]
-
Möglicherweise musst du in einer UDF die Ergebnisfelder benennen:
Select F.AstNum as AstNum, F.BucSts as BucSts ...
mit temporären Namen kommt eine UDF ggf. nicht zurecht.
Similar Threads
-
By Nils_V in forum IBM i Hauptforum
Antworten: 11
Letzter Beitrag: 18-07-16, 09:49
-
By I0N in forum IBM i Hauptforum
Antworten: 7
Letzter Beitrag: 09-01-09, 17:38
-
By Peder in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 06-12-06, 08:15
-
By KM in forum NEWSboard Java
Antworten: 3
Letzter Beitrag: 08-06-06, 09:09
-
By HACHIMAN in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 22-05-06, 09:48
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks