2017-08-04 2 views
0

Ich versuche, eine Ansicht in Geoserver zu erstellen und drei Parameter, einschließlich eines Parameters für einen Operator zu übergeben, scheint aber Probleme zu haben.Geoserver SQL View

Mein Code ist:

SELECT proposed_water_reticulation.* 
FROM rev_1.proposed_water_reticulation 
WHERE proceed = '%a%' AND pipe_diam '%b%' '%c%'; 

letztlich einen Operator Zeichen passieren zu b und dann einen Wert c Ich versuche, den Benutzer zu lassen. Ist das möglich?

zB:

SELECT proposed_water_reticulation.* 
FROM rev_1.proposed_water_reticulation 
WHERE proceed = 'YES' AND pipe_diam '>' '150'; 
+0

können Sie die hinzufügen Fehler aus der Protokolldatei, wahrscheinlich müssen Sie zuerst die Protokollierung auf den geotools-Entwickler einstellen. –

Antwort

0

Ich weiß nichts über Geoserver und nicht sicher, ob diese Antwort hilfreich sein, aber in SQL Server können Sie es auf diese Weise tun

CREATE PROCEDURE spRunSomeSQL 
(
    @a BIT, 
    @b VARCHAR(3), 
    @c INT 
) 
AS 
BEGIN 
    -- error check @b here to see if it is a valid operator 
    DECLARE @sql VARCHAR(MAX) 

    SET @sql = 'SELECT proposed_water_reticulation.* 
       FROM rev_1.proposed_water_reticulation 
       WHERE proceed = '+ CONVERT(VARCHAR(1),@a) +' AND pipe_diam ' + @b + CONVERT(VARCHAR(32),@c) 

    EXEC (@sql) 
END