### Question:
BaseScriptRunner implements DBScriptRunner { @Override public DBScriptRunner run() { List<? extends SqlStatement> statements = myScript.getStatements(); for (SqlStatement statement : statements) { if (statement instanceof SqlCommand) { runCommand((SqlCommand)statement); } if (statement instanceof SqlQuery) { runQuery((SqlQuery) statement); } } return this; } BaseScriptRunner(@NotNull final DBTransaction transaction,
                   @NotNull final SqlScript script); @Override DBScriptRunner run();  }### Answer:
@Test public void basic_2() { final SqlScript script = new SqlScript("create table TT2(X1 integer)", "drop table TT2"); myFacade.inSession(new InSessionNoResult() { @Override public void run(@NotNull final DBSession session) { session.script(script).run(); } }); }
@Test public void basic_4() { final SqlScript script = new SqlScript("create table TT4(X1 integer)", "insert into TT4 values (44)", "select * from TT4", "drop table TT4"); myFacade.inSession(new InSessionNoResult() { @Override public void run(@NotNull final DBSession session) { session.script(script).run(); } }); }
@Test public void basic_4_with_query() { final SqlScript script = new SqlScript(new SqlCommand("create table TT4a(X1 integer)"), new SqlCommand("insert into TT4a values (44)"), new SqlQuery<Boolean>("select * from TT4a", Layouts.existence()), new SqlCommand("drop table TT4a")); myFacade.inSession(new InSessionNoResult() { @Override public void run(@NotNull final DBSession session) { session.script(script).run(); } }); }