AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Stored proc im view verwenden
Thema durchsuchen
Ansicht
Themen-Optionen

Stored proc im view verwenden

Ein Thema von messie · begonnen am 1. Jan 2014 · letzter Beitrag vom 3. Jan 2014
Antwort Antwort
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#1

AW: Stored proc im view verwenden

  Alt 2. Jan 2014, 11:19
Bezüglich des Views habe ich das Problem, dass die Syntax von Hoika nicht laufen mag
Code:
select
AUFTRAG.ORDERNO, AUFTRAG.POSITIONENCOUNT, DEVICECOUNT(AUFTRAG.ORDERNO)
from
AUFTRAG
Da wird zunächst Function unknown gemeldet.
dann solltest Du einmal überprüfen, ob es diese Function auch gibt, oder ob beim
Code:
Create
etwas daneben gegangen ist.

Nehme ich meine obige Syntax, komme ich dann zu einem Ergebnis wenn ich einen Wert explizit angebe:
Code:
CREATE VIEW V_JOB_OVERVIEW (ORDER_NO, POSITIONEN_COUNT, DEVICES_COUNT)
AS
select
AUFTRAG.ORDERNO, AUFTRAG.POSITIONENCOUNT, DEVICECOUNT.D_COUNT

from
AUFTRAG, DEVICECOUNT(0)
Wenn ich mich da nicht vertue liefert
Code:
DEVICECOUNT(0)
genau einen Wert, (sinnvoll oder nicht lassen wir mal außen vor) dann sollte dieses Statement auch funktionieren, falls es die Funktion gibt.

Der Wert 0 muss nicht vorhanden sein.
Muss ich da noch eine Variable vergeben oder ist mein Vorhaben doch nicht möglich?
Die Aufgabe: zu jedem Record in Table AUFTRAG können n Records in Table POSITIONEN gehören. Ich brauche die Summe aller Felder DEVICES_COUNT zu einem Auftrag. Ist das möglich?
Wie würde denn so etwas nur als view ohne SP aussehen?

[/QUOTE]

Code:
Select irgendwas
from Auftrag
    ,(select Order_ID,sum(NUMBER_OF_DEVICES) DSUM from POSITIONEN group by order_ID) as DeviceCount
where DeviceCount.Order_ID=Aufrtrag.Order_ID
So ungefähr sollte es funktionieren
Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
tsteinmaurer

Registriert seit: 8. Sep 2008
Ort: Linz, Österreich
530 Beiträge
 
#2

AW: Stored proc im view verwenden

  Alt 2. Jan 2014, 14:48
Vielleicht verstehe ich etwas falsch, aber warum nicht einfach etwas in der Art:
Code:
select
  a.orderno
  , a.positionencount
  , sum(p.number_of_devices) as devices_count
from
  auftrag a join position p on (a.orderno = p.order_id)
group by
  a.orderno
  , a.positioncount
Das Ganze dann verpackt in einer View.
  Mit Zitat antworten Zitat
messie

Registriert seit: 2. Mär 2005
Ort: Göttingen
1.592 Beiträge
 
Delphi 2009 Professional
 
#3

AW: Stored proc im view verwenden

  Alt 2. Jan 2014, 22:30
Hallo Thomas,

das sieht im ersten Test ziemlich gut aus!

Ich werde das morgen mal in den ganzen Kontext einbauen und dann berichten.

Danke an Alle, Messie
  Mit Zitat antworten Zitat
tsteinmaurer

Registriert seit: 8. Sep 2008
Ort: Linz, Österreich
530 Beiträge
 
#4

AW: Stored proc im view verwenden

  Alt 3. Jan 2014, 06:44
Ach ja, solltest du Aufträge ohne Positionen haben, und möchtest du diese Auftragsdatensätze ebenfalls in der Ergebnismenge haben, dann musst du natürlich einen LEFT JOIN machen. Für diese Datensätze steht dann bei der Summe NULL (unbekannt). Willst du dafür 0 stehen haben, dann kannst du COALESCE verwenden. Also:
Code:
select
  a.orderno
  , a.positionencount
  , coalesce(sum(p.number_of_devices), 0) as devices_count
from
  auftrag a left join position p on (a.orderno = p.order_id)
group by
  a.orderno
  , a.positioncount
LG
  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 22:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz