2012-03-28 4 views

Antwort

0

Sie meinen, so etwas wie @Qty int als Eingabeparameter?

+0

Wenn der Parameter immer sein würde, ein int würde ich nur eingeben 'CREATE PROCEDURE test (IN param INT)'. Aber in meinem Fall möchte ich, dass der Parametertyp dynamisch ist, also kann 'param' von jedem Typ sein. – c00kiemonster

0

Jedes Mal, wenn Sie die Speicherfunktion manuell ändern müssen, um den Datentyp zu ändern.

1

Sie etwas die param als varchar hinzufügen und sie dann auf geeignete Art konvertiert eine CASE-Struktur verwenden und es dann in der Prozedur verwenden, der Art:


BEGIN 
    DECLARE v VARCHAR DEFAULT "NULL"; 

    CASE v 
     WHEN 'INT' THEN CONVERT(v AS INT); 
     WHEN 'FLOAT' THEN CONVERT(v AS FLOAT); 
     ELSE 
     BEGIN 
     END; 
    END CASE; 
    END; 
Verwandte Themen