AGB  ·  Datenschutz  ·  Impressum  







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

sql

Ein Thema von Klaus D. · begonnen am 29. Nov 2003 · letzter Beitrag vom 7. Dez 2003
Antwort Antwort
Seite 3 von 3     123   
Benutzerbild von Leuselator
Leuselator

Registriert seit: 18. Mär 2003
Ort: Berlin
589 Beiträge
 
Delphi 8 Architect
 
#21

Re: sql

  Alt 5. Dez 2003, 00:36
Bin verunsichert.
In MS-SQL (kenn ich ab besten - was nicht heißen muß das ich's gut kenne ) gibt es Variablen, die von der Deklaration dem Oracle-Statement sehr änlich sind:
SQL-Code:
Declare @Variablenname Varchar(30), -- @ leitet lokale Variable ein
        @@AndererName Integer -- @@ für globale Variablen

set @Variablenname = 'Wert-- Wertzuweisung in TransactSQL

select @@AndererName = id from Tabelle where Bedingung -- Wertzuweisung aus Abfrage

select * from Tabelle where ID = @@AndererName -- Zugriff auf Variable
Das alles versteht sich aber als "innerhalb des DB-Servers" gültig und zugreifbar. Wenn ich von Delphi aus, also von Clientseite(ausserhalb Server) solche Variablen füllen möchte, dann mache ich es bisher so:
Delphi-Quellcode:
Query.SQL.Add('Declare @MeineVariable Integer ');
Query.SQL.Add(' set @MeineVariable = :MeinDelphiParameter'); // dieser Parameter wird von Delphi
Query.SQL.Add(' select * '); // vor senden an die DB ersetzt
Query.SQL.Add(' from Tabelle '); // sagt zumindest der Profiler
Query.SQL.Add(' where Feld = @MeineVariable');
Ende meines Lateins.
Gruß
*InLernmodusUmschalt*
Tim Leuschner
Programmierer = moderner Sysiphos: stets wenn er meint, den Stein seiner Dummheit auf den Berg des Wissens gewuchtet zu haben, erblickt er einen völlig neuen Aspekt und der Dummfels poltert mit Getöse zurück ins Tal der Unwissenheit...
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#22

Re: sql

  Alt 5. Dez 2003, 10:17
@Leuselator
Dein ":MeinDelphiParameter" ist eine Variable mit der die DB arbeitet.
Außer die Standard Delphi Compos zum DB-Zugriff ersetzen tatsächlich den SQL-Code.
(Wär aber ziemlich bescheuert)


Variablen sollte man eigentlich immer verwenden und auf fixe Vergleiche verzichten.
XYZ = 'Hallo' Denn wie Garby bereits sagte, deine DB wird jedesmal den Code neu Parsen müssen, die Ursprungsmenge der vorherigen Abfrage verwerfen und alles (wirklich alles!) neu holen.
Mit bind-Variablen bleibt das Statement gleich - Es wird also nur neu gefiltert.

Gerade in Anwendnugen, bei denen von vielen Clients ähnliche Abfragen gestellt werden wirst du merken, dass diese beim ersten Mal wie normal laufen und danach nur noch ein paar Millisekunden!

Ich hoffe das beendet jetzt diese OT - Variablendiskussion.
  Mit Zitat antworten Zitat
Klaus D.

Registriert seit: 27. Okt 2003
Ort: 03238 Finsterwalde
124 Beiträge
 
Delphi 6 Professional
 
#23

Re: sql

  Alt 7. Dez 2003, 14:51
Hallo Delphi-Gemeinde
weiß jemand ob ADS mit dem Operator"AS" in einem SQL-String probleme hat?
Code:
SELECT * FROM tbl_Typenschild AS TS
fehler!
lasse ich "AS" weg klappt alles,im Codes vom Leuselator verwendete er einmal den Operator !(vom 1.12."3.20Uhr)
Danke Klaus
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#24

Re: sql

  Alt 7. Dez 2003, 15:56
Hallo Klaus,

wie es bei ADS weiß ich nicht. Ich verwende den Operator "AS" bei anderen DB's (Informix, Oracle, Interbase, ...) ausschließlich für Tabellenspalten. Bei den Tabellen selbst lasse ich diesen weg!
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#25

Re: sql

  Alt 7. Dez 2003, 20:48
"AS" kann man in Standard-SQL nicht für ein Tabellen-Alias verwenden, schreib das Alias einfach dahinter.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 08:18 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