Fórum Criar Procedure com parâmetros de retorno dinamicamente #410657
16/12/2011
0
Fiz a mesma execução via ibExpert e funcionou, mas preciso criar via código.
O que estou fazendo errado?
D2010 - Firebird 2.1.
1: VInstrucao := CREATE OR ALTER procedure CamposNotNullComValorNull returns ( +
2: tabela varchar(100), +
3: campo varchar(100), +
4: total INTEGER) +
5: as +
6: declare variable SQL varchar(1000); +
7: declare variable QTDENULL integer; +
8: begin +
9: for select rdb$field_name, +
10: rdb$relation_name +
11: from rdb$relation_fields +
12: where rdb$relation_name in +
13: ( +
14: select rdb$relation_name +
15: from rdb$relations +
16: where rdb$system_flag = 0 +
17: ) +
18: and rdb$null_flag = 1 +
19: into :campo, :tabela +
20: do begin +
21: sql = select count(*) from || :tabela || where || :campo || is +
22: null; +
23: execute statement :sql into :qtdenull; +
24: total = qtdenull; +
25: if (qtdenull > 0) then suspend; +
26: end +
27: end;
SQLQuery1.SQL.Clear; SQLQuery1.Close;
SQLQuery1.SQL.add(VInstrucao);
SQLQuery1.ExecSQL;
Obrigado.
Valdir
Valdir Dill
Curtir tópico
+ 0Posts
16/12/2011
Gustavo Bretas
Gostei + 0
16/12/2011
Valdir Dill
Perfeito Bretas. Funcionou belezinha!
Vivendo e aprendendo, rs...
Obrigadão.
Gostei + 0
19/12/2011
Gustavo Bretas
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)