SP genérica em Firebird
Alguém poderia me informar se é possível utilizar variáveis no corpo de SP para criar uma função genérica?
Exemplo: Quero criar uma SP para verificação de pré-existência de um determinado campo (duplicidade), em qualquer tabela. É possível fazer o seguinte:
SELECT COUNT(*)
FROM :P_TAB
WHERE :P_CAMPO = :P_PROCURA
INTO :O_CONTADOR
Exemplo: Quero criar uma SP para verificação de pré-existência de um determinado campo (duplicidade), em qualquer tabela. É possível fazer o seguinte:
SELECT COUNT(*)
FROM :P_TAB
WHERE :P_CAMPO = :P_PROCURA
INTO :O_CONTADOR
Abueno_silva
Curtidas 0
Respostas
Durvalcastro
21/05/2003
Infelizmente não...
8)
8)
GOSTEI 0
Fsflorencio
21/05/2003
a procedure abaixo retorna a quantidade de campos que existem em uma tabela.
CREATE PROCEDURE SP_EXISTE_CAMPO (
TABELA VARCHAR(31),
CAMPO VARCHAR(31))
RETURNS (
EXISTE INTEGER)
AS
BEGIN
select count(1) from rdb$relation_fields
where rdb$field_name = :campo and
rdb$relation_name = :tabela
into existe;
SUSPEND;
END
é só usar mais ou menos assim:
execute procedure SP_EXISTE_CAMPO( ´CONTAS_RECEBER´, ´COD_EMPRESA´) por exemplo.
CREATE PROCEDURE SP_EXISTE_CAMPO (
TABELA VARCHAR(31),
CAMPO VARCHAR(31))
RETURNS (
EXISTE INTEGER)
AS
BEGIN
select count(1) from rdb$relation_fields
where rdb$field_name = :campo and
rdb$relation_name = :tabela
into existe;
SUSPEND;
END
é só usar mais ou menos assim:
execute procedure SP_EXISTE_CAMPO( ´CONTAS_RECEBER´, ´COD_EMPRESA´) por exemplo.
GOSTEI 0