Fórum Usar quot;:quot; em uma query sem ser para passar parametr #355099
09/03/2008
0
Estou precisando mandar uma atualização do banco de dados do meu sistema para um cliente. Porém, nessa atualização, vai além de outras coisas, uma nova TRIGGER. Nela, contém um código similar ao exemplo abaixo:
CREATE OR REPLACE FUNCTION tg_teste() RETURNS TRIGGER AS
$BODY$
DECLARE
var1 INTEGER;
var2 VARCHAR;
BEGIN
var1 [color=red:4eb9f3f016][b:4eb9f3f016]:=[/b:4eb9f3f016][/color:4eb9f3f016] 150;
var2 [color=red:4eb9f3f016][b:4eb9f3f016]:=[/b:4eb9f3f016][/color:4eb9f3f016] ´FULANO DE TAL´;
...
END;
$BODY$
LANGUAGE PLPGSQL;
O problema é que o Delphi, melhor dizendo o componente query do Deplhi, entende isso, os dois pontos, como parâmetro e ai acontece o erro.
A pergunta é a seguinte: Tem como usar dois ponto sem ser para passar parâmetro, como no exemplo acima?
Já tentei algo do tipo [color=red:4eb9f3f016][b:4eb9f3f016] \: [/b:4eb9f3f016][/color:4eb9f3f016] como se o barra fosse caracter de escape, mais não funcionou.
Abraço.
Guilherme.
Guilherme.analista
Curtir tópico
+ 0Posts
11/03/2008
Desenvolvimento_camp
var1 = 150 por exemplo ?
Gostei + 0
11/03/2008
Paulo
query.sql.add(´Select * from tabela´);
No seu caso passar comando da PL/SQL para uma query acho que deveria ser a mesma coisa ou eu não entendi a sua dúvida? O [color=red:8ee606dd44]:=[/color:8ee606dd44] dentro da PL/SQL é um sinal de atribuição, semelhante ao Delphi. No seu caso está usando o PostgreSql, pelo que parece e não Oracle, mas a sintaxe de ambos tem alguma semelhança, por isso citei PL/SQL, mas dá no mesmo. Acho que deveria estar entre aspas tudo, se é que entendi. Caso contrário, explique melhor. Espero ter ajudado, senão, vale a tentativa,eheheheheheh.
Gostei + 0
11/03/2008
Guilherme.analista
Opa...
É isso mesmo Paulo. Estou usando o PostgreSQL, porém, não funciona colocando o código dentro de aspas simples. O problema é que o Delphi, como vc sabe, entende quando se coloca 2 pontos (:) em uma query, o que vem em seguida é um parâmetro. Mais o código, como vc mesmo citou, é uma pl/sql e ai ta o problema.
Caso vc tenha alguma outra ideia....
Valeu.
Gostei + 0
11/03/2008
Hall 9000
Gostei + 0
12/03/2008
Guilherme.analista
Estou usando os componentes ZeosLib.
E para executar a query, estou usando o método ExecSQL
Gostei + 0
12/03/2008
Paulo
Acho que assim vai funcionar. Qquer coisa poste aí.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)