5.A.1.7.4.1. Schemat i nazwa tabeli Oracle

Poniższy kod można umieścić w konfiguracji skyptów akcji by podpiąć go do listy tabel wtyczki obsługi bazy danych Oracle.
Przykład oprócz sposobu użycia samego BeanShell pokazuje w jaki sposób dostać się do danych zawartych na liście wyników.

Tytuł akcji: Jaka to tabela (przykład BeanShell)
Klucz akcji: oracle-tables-actions

import pl.mpak.orbada.gui.comps.table.ViewTable;
import pl.mpak.sky.gui.mr.ModalResult;
import pl.mpak.sky.gui.swing.MessageBox;
import pl.mpak.usedb.util.SQLUtil;

if (component instanceof ViewTable) {
  ViewTable vt = (ViewTable)component;
  if (vt.getSelectedRow() >= 0) {
    try {
      vt.getQuery().getRecord(vt.getSelectedRow());
      String schemaName = vt.getQuery().fieldByName("schema_name").getString();
      String tableName = vt.getQuery().fieldByName("table_name").getString();
      MessageBox.show(SQLUtil.createSqlName(schemaName, tableName));
    } catch (Exception ex) {
      MessageBox.show("Błąd", ex.getMessage(), ModalResult.OK);
    }
  }
}

5.A.1.7.4.2. Szybkie kopiowanie DLL tabeli

Poniższy kod można umieścić w konfiguracji skyptów akcji by podpiąć go do listy tabel wtyczki obsługi bazy danych Oracle.
Przykład pokazuje w jaki sposób można użyć obiektu SourceCreator z wtyczki Oracle oraz skopiować wynik do schowka systemu operacyjnego.

Action title: Szybkie kopiowanie DDL (przykład BeanShell)
Action key: oracle-tables-actions

import pl.mpak.orbada.gui.comps.table.ViewTable;
import pl.mpak.sky.gui.mr.ModalResult;
import pl.mpak.sky.gui.swing.MessageBox;
import pl.mpak.orbada.oracle.util.SourceCreator;
import pl.mpak.util.TextTransfer;

if (component instanceof ViewTable) {
  ViewTable vt = (ViewTable)component;
  if (vt.getSelectedRow() >= 0) {
    try {
      vt.getQuery().getRecord(vt.getSelectedRow());
      new TextTransfer().setClipboardContents(
        new SourceCreator(database, null).getSource(
          vt.getQuery().fieldByName("schema_name").getString(), 
          "TABLE", 
          vt.getQuery().fieldByName("table_name").getString()));
    } catch (Exception ex) {
      MessageBox.show("Problem", ex.getMessage(), ModalResult.OK);
    }
  }
}