Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi SQL Procedure mit paramterisierbaren Abfragefeldern (https://www.delphipraxis.net/128703-sql-procedure-mit-paramterisierbaren-abfragefeldern.html)

heri 4. Feb 2009 10:46

Datenbank: MSSQL • Zugriff über: ADO

SQL Procedure mit paramterisierbaren Abfragefeldern
 
wie geht schon wieder der Trick um in einer Procedure die benötigten Felder als Parameter abzufragen?

SQL-Code:
CREATE PROCEDURE MyTestProc
   @Fields varchar='%'
AS
BEGIN

  SELECT @Fields from tTable

END
gibt leider nicht das gewünscht Ergebnis

sirius 4. Feb 2009 11:50

Re: SQL Procedure mit paramterisierbaren Abfragefeldern
 
Dynamisches SQL?

heri 4. Feb 2009 11:52

Re: SQL Procedure mit paramterisierbaren Abfragefeldern
 
ahhh... ich hab's selber wieder gefunden:

SQL-Code:
CREATE PROCEDURE MyProcTest
@Fields varchar(30)
AS
BEGIN
DECLARE @SQLstmt varchar(200)

  SET @SQLstmt = 'SELECT ' + @Fields + ' FROM tTable'
   
  EXEC(@SQLstmt)

END

heri 4. Feb 2009 11:58

Re: SQL Procedure mit paramterisierbaren Abfragefeldern
 
und wer sich fragt "um himmels willen wieso so kompliziert" :

einen Tree kann man prima strukturiert in einer SQL Procedure aufbauen

jetzt war das Problem, dass ich zusätzlich zu den "Tree" Feldern: KeyId und ParentId unterschiedliche Felder im Ergebnis haben möchte

that's it!

sirius 4. Feb 2009 12:00

Re: SQL Procedure mit paramterisierbaren Abfragefeldern
 
Dynamisches SQL ist soweit kein Problem, bedenke aber SQL-Injection!

heri 4. Feb 2009 12:08

Re: SQL Procedure mit paramterisierbaren Abfragefeldern
 
was genau meinst du damit?

sirius 4. Feb 2009 13:01

Re: SQL Procedure mit paramterisierbaren Abfragefeldern
 
So wie die Procedure bisher da steht, kann man es nicht erklären. Die Frage ist, wie kommt @Fields an seinen Inhalt und wo kann dieser manipuliert werden?


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:58 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