The following lines contain the word 'select', 'insert', 'update' or 'delete':
FUNCTION lock_record(V_Table_name VARCHAR2,V_Column_name VARCHAR2,V_Column_val NUMBER,V_Last_update_date DATE) RETURN NUMBER IS
X_Col_val varchar2(32);
X_Last_update_date DATE;
X_Select_statement varchar2(200);
X_Select_statement := 'SELECT '||V_Column_name||' FROM '||V_Table_name || ' WHERE '||V_Column_name
|| ' = :V_Column_val '||' FOR UPDATE OF '|| V_Column_name ||' NOWAIT ';
dbms_sql.parse(X_Cur_lock_hdr,X_Select_statement,0);
X_Select_statement:='SELECT Last_update_date FROM '||V_Table_name||' WHERE '||V_Column_name || '=:V_Column_val';
dbms_sql.parse(X_Get_who_hdr,X_Select_statement,0);
dbms_sql.define_column(X_Get_who_hdr, 1, V_Last_update_date);
dbms_sql.column_value(X_Get_who_hdr,1,X_Last_update_date);
IF X_Last_update_date <> V_Last_update_date THEN
ROLLBACK;