Module: PLSQL::SequenceClassMethods
- Included in:
- Sequence
- Defined in:
- lib/plsql/sequence.rb
Overview
:nodoc:
Instance Method Summary collapse
Instance Method Details
#find(schema, sequence) ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/plsql/sequence.rb', line 4 def find(schema, sequence) if schema.select_first( "SELECT sequence_name FROM all_sequences WHERE sequence_owner = :owner AND sequence_name = :sequence_name", schema.schema_name, sequence.to_s.upcase) new(schema, sequence) # search for synonym elsif (row = schema.select_first( "SELECT t.sequence_owner, t.sequence_name FROM all_synonyms s, all_sequences t WHERE s.owner IN (:owner, 'PUBLIC') AND s.synonym_name = :synonym_name AND t.sequence_owner = s.table_owner AND t.sequence_name = s.table_name ORDER BY DECODE(s.owner, 'PUBLIC', 1, 0)", schema.schema_name, sequence.to_s.upcase)) new(schema, row[1], row[0]) else nil end end |