usando variável de uma função
eu tenho uma função onde passo esses parametros:
CREATE FUNCTION DBO.FN_RETORNA_PAIS_UNIDADE_ORGANIZACIONAL_RISCO
(
@cUndOrgnzPai DECIMAL = NULL,
@cVrsaoUndOrgnzPai DECIMAL = NULL,
@NivelHierarquia INT = NULL,
@ReturnMe SMALLINT = NULL
) RETURNS @TABELA_RETORNO TABLE
(
cUndOrgnzRisco decimal(10,0),
cVrsaoUndOrgnzRisco decimal(5,0),
rUndOrgnzRisco char(40),
cUndOrgnzPai decimal(10,0),
cVrsaoUndOrgnzPai decimal(5,0),
[color=#FF0000:08a5c813b1]cdNvelUndOrgnz decimal(1,0),[/color:08a5c813b1] cSgmto decimal(2,0),
cNvelHierq decimal (2,0)
)
e no parametro vermleho eu tenho que passar um valor para trazer na consulta.
estu tentando fanzemdo assim no select:
só que me dá um erro de sintaxe. só que antes de fazer o if tem a vírgula, porém já tirei e continua me dando o mesmo erro.
essa parte realmente não sei como fazer. como seria?
CREATE FUNCTION DBO.FN_RETORNA_PAIS_UNIDADE_ORGANIZACIONAL_RISCO
(
@cUndOrgnzPai DECIMAL = NULL,
@cVrsaoUndOrgnzPai DECIMAL = NULL,
@NivelHierarquia INT = NULL,
@ReturnMe SMALLINT = NULL
) RETURNS @TABELA_RETORNO TABLE
(
cUndOrgnzRisco decimal(10,0),
cVrsaoUndOrgnzRisco decimal(5,0),
rUndOrgnzRisco char(40),
cUndOrgnzPai decimal(10,0),
cVrsaoUndOrgnzPai decimal(5,0),
[color=#FF0000:08a5c813b1]cdNvelUndOrgnz decimal(1,0),[/color:08a5c813b1] cSgmto decimal(2,0),
cNvelHierq decimal (2,0)
)
e no parametro vermleho eu tenho que passar um valor para trazer na consulta.
estu tentando fanzemdo assim no select:
FROM dbo.FN_RETORNA_PAIS_UNIDADE_ORGANIZACIONAL_RISCO (null, null, null, null), if FN_RETORNA_PAIS_UNIDADE_ORGANIZACIONAL_RISCO.cdNvelUndOrgnz = 1 or FN_RETORNA_PAIS_UNIDADE_ORGANIZACIONAL_RISCO.cdNvelUndOrgnz = 2 begin dbo.TPLANOACAO INNER JOIN dbo.TINVENTARIORISCO ON dbo.TPLANOACAO.CINVNTRISCO = dbo.TINVENTARIORISCO.CINVNTRISCO INNER JOIN dbo.tDadoFunclFuncRisco ON dbo.TINVENTARIORISCO.cFuncBdsco = dbo.tDadoFunclFuncRisco.cFuncBdsco AND dbo.TINVENTARIORISCO.cVrsaoFunc = dbo.tDadoFunclFuncRisco.cVrsaoFunc end
só que me dá um erro de sintaxe. só que antes de fazer o if tem a vírgula, porém já tirei e continua me dando o mesmo erro.
essa parte realmente não sei como fazer. como seria?
Rafa-martin
Curtidas 0
Respostas
Rafa-martin
29/09/2006
pessoal isso eu já consengui arrumar.
estou com um outro problema. olhem só:
dbo.FN_RETORNA_PAIS_UNIDADE_ORGANIZACIONAL_RISCO (null, null, null, null) as D
completo está assim:
dbo.FN_RETORNA_PAIS_UNIDADE_ORGANIZACIONAL_RISCO (null, null, null, null) as D
[color=green:b31251fdfd]on[/color:b31251fdfd] (TINVENTARIORISCO.cUndOrgnzRisco = D.cUndOrgnzRisco
and dbo.TINVENTARIORISCO.cVrsaoUndOrgnzRisco = D.cVrsaoUndOrgnzRisco and D.cdNvelUndOrgnz = 2)
dbo.TPLANOACAO INNER JOIN dbo.TINVENTARIORISCO ON dbo.TPLANOACAO.CINVNTRISCO =
dbo.TINVENTARIORISCO.CINVNTRISCO INNER JOIN dbo.tDadoFunclFuncRisco ON
dbo.TINVENTARIORISCO.cFuncBdsco = dbo.tDadoFunclFuncRisco.cFuncBdsco AND
dbo.TINVENTARIORISCO.cVrsaoFunc = dbo.tDadoFunclFuncRisco.cVrsaoFunc
só que está me dando erro de sintaxe. esse erro:[color=#CC0000:b31251fdfd] Incorrect syntax near the keyword ´on´.[/color:b31251fdfd].
e é na linha que está em verde.
pq do erro?
estou com um outro problema. olhem só:
dbo.FN_RETORNA_PAIS_UNIDADE_ORGANIZACIONAL_RISCO (null, null, null, null) as D
completo está assim:
dbo.FN_RETORNA_PAIS_UNIDADE_ORGANIZACIONAL_RISCO (null, null, null, null) as D
[color=green:b31251fdfd]on[/color:b31251fdfd] (TINVENTARIORISCO.cUndOrgnzRisco = D.cUndOrgnzRisco
and dbo.TINVENTARIORISCO.cVrsaoUndOrgnzRisco = D.cVrsaoUndOrgnzRisco and D.cdNvelUndOrgnz = 2)
dbo.TPLANOACAO INNER JOIN dbo.TINVENTARIORISCO ON dbo.TPLANOACAO.CINVNTRISCO =
dbo.TINVENTARIORISCO.CINVNTRISCO INNER JOIN dbo.tDadoFunclFuncRisco ON
dbo.TINVENTARIORISCO.cFuncBdsco = dbo.tDadoFunclFuncRisco.cFuncBdsco AND
dbo.TINVENTARIORISCO.cVrsaoFunc = dbo.tDadoFunclFuncRisco.cVrsaoFunc
só que está me dando erro de sintaxe. esse erro:[color=#CC0000:b31251fdfd] Incorrect syntax near the keyword ´on´.[/color:b31251fdfd].
e é na linha que está em verde.
pq do erro?
GOSTEI 0
Rafa-martin
29/09/2006
galera consegui.
ficou assim:
depois da cláusula from
ficou assim:
depois da cláusula from
(select * from FN_RETORNA_PAIS_UNIDADE_ORGANIZACIONAL_RISCO (null, null, null, null)) AS D ON (DBO.TINVENTARIORISCO.cUndOrgnzRisco = D.cUndOrgnzRisco AND TINVENTARIORISCO.cVrsaoUndOrgnzRisco = D.cVrsaoUndOrgnzRisco AND D.cdNvelUndOrgnz = 2)
GOSTEI 0