2017-07-11 1 views
0

J'ai cherché sur Internet et je ne trouve aucune information ou exemple d'utilisation de EXECUTE INTO, y compris lorsque l'étalement peut ne rien retourner.Exécuter INTO pour accepter les valeurs NULL

Je reçois l'erreur

argument de chaîne de requête de Execute est null

J'ai essayé d'utiliser IF EXISTS() Création d'une déclaration qui comprend un compte et toute une série de things.At ce point J'ai envie de tourner en rond. FRUSTRANT!

Existe-t-il une méthode par défaut pour cela?

+0

** S'il vous plaît [EDIT] ** votre question et ajoutez le * * code réel ** de votre fonction PL/pgSQL. [** Texte formaté **] (http://stackoverflow.com/help/formatting) s'il vous plaît, [** aucune capture d'écran **] (http://meta.stackoverflow.com/questions/285551/why-may -i-not-upload-images-de-code-sur-alors-quand-pose-une-question/285557 # 285557). ** [modifier] ** votre question - ne ** pas ** code postal ou des informations supplémentaires dans les commentaires. –

Répondre

1

ici execute format('select 1 where false') into t mettra rien à t, donc plus tard execute t donnerait

ERROR: query string argument of EXECUTE is null

soudent si simple vous aidera:

t=# do $$ 
declare t text; 
begin 
execute format('select 1 where %L',false) into t; 
execute coalesce(t,'select now()') into t; 
raise '%',t; 
end; 
$$ 
; 
ERROR: 2017-07-11 16:11:03.149521+00 
Time: 0.349 ms