Red de conocimientos turísticos - Conocimientos sobre calendario chino - ¿Cómo escribir una función personalizada en Oracle para determinar si existen datos en una tabla?

¿Cómo escribir una función personalizada en Oracle para determinar si existen datos en una tabla?

Las funciones se utilizan para devolver datos específicos.

Se debe encontrar una variable para recibir el valor de retorno de la función durante la ejecución;

La sintaxis es la siguiente: Crear o reemplazar función nombre_función

(

argu1 [modo1] tipo de datos1,

argu2 [modo2] tipo de datos2, .........

)

devolver tipo de datos

es

comienzo

fin;

exec var v1 v1 varchar2(100)

exec: v1:=nombre_función

Sin ningún argumento

crear o reemplazar la función get_user return varchar2 es

Resultado varchar2(50);

comenzar

seleccione nombre de usuario en el resultado de user_users

return(Resultado);

end get_user;

Ejecución:

con parámetro

crear o reemplazar la función get_sal(empname en varchar2) el número de retorno es

Número de resultado;

comenzar

seleccione sal en el resultado de emp donde ename=empname;

return(Resultado);

end get_sal;

Ejecutar: SQLgt; var sal número

SQLgt; : sal:=get_sal(' scott');

Funciones sin argumento

crear o reemplazar la función get _info(e_name varchar2, job out varchar2) el número de retorno es

Número de resultado;

comenzar

seleccione sal, trabajo en Resultado, trabajo desde emp donde ename=e_name

return(Resultado); p>

end get_info ;

Ejecutivo: SQLgt; var trabajo varchar2(20)

SQLgt; var dname varchar2(20)

SQLgt; : dname:=get_info(' SCOTT',. job)

strsql varchar2(200);

begin

si m_PreTaskID es nulo, entonces

return '';

end if;

strsql:= 'seleccione max(nombre de nodo) de t_Wf_Tasklist donde TaskID = ''' ||

m_PreTa

skID|| '''';

ejecutar strsql inmediato

en nombre de nodo;

devolver nombre de nodo

fin;

Formato de salida del título:

crear o reemplazar la función FormatTitle(m_title varchar2,

m_length número,

m_FillChar varchar2) devolver varchar2 IS

comenzar

si lengthb(m_title) gt; m_length*2 entonces

devuelve substr(m_title, 0, m_length) ||| >reemplazar función FormatTitle(m_title varchar2,

m_length número,

m_FillChar) función FillChar

else

return m_title; p>

m_FillChar) p>

finalizar si;

finalizar;

.