Module: PLSQL::ProcedureClassMethods

Included in:
Procedure
Defined in:
lib/plsql/procedure.rb

Instance Method Summary collapse

Instance Method Details

#find(schema, procedure, package = nil) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/plsql/procedure.rb', line 4

def find(schema, procedure, package = nil)
  if package.nil? && schema.select_first("
        SELECT object_name FROM all_objects
        WHERE owner = :owner
          AND object_name = :object_name
          AND object_type IN ('PROCEDURE','FUNCTION')
      ", schema.schema_name, procedure.to_s.upcase)
    new(schema, procedure)
  elsif package && schema.select_first("
        SELECT object_name FROM all_procedures
        WHERE owner = :owner
          AND object_name = :object_name
          AND procedure_name = :procedure_name
      ", schema.schema_name, package, procedure.to_s.upcase)
    new(schema, procedure, package)
  else
    nil
  end
end