code: @Override
  	public boolean execute(final LineReader reader, final String[] parts, final SqlConfig sqlConfig,
  			final Properties props) {
  		PrintWriter writer = reader.getTerminal().writer();
  
  		if (parts.length < 3) {
  			writer.println(toString() + " parameter missing. " + toString() + " [SQL_KEYWORD] [TABLE NAME].");
  			return true;
  		}
  
  		Optional<SqlKeyword> sqlKeyword = SqlKeyword.of(parts[1]);
  		String tableName = parts[2];
  
  		try (SqlAgent agent = sqlConfig.agent()) {
  			Table table = new Table() {
  
  				@Override
  				public String getSchema() {
  					return null;
  				}
  
  				@Override
  				public String getName() {
  					return tableName;
  				}
  			};
  			TableMetadata metadata = TableMetadata.createTableEntityMetadata(agent, table);
  			metadata.setSchema(null);
  
  			SqlContext ctx = null;
  			if (sqlKeyword.isPresent()) {
  				SqlKeyword keyword = sqlKeyword.get();
  				switch (keyword) {
  				case INSERT:
  					ctx = sqlConfig.getEntityHandler().createInsertContext(agent, metadata, null);
  					break;
  
  				case UPDATE:
  					ctx = sqlConfig.getEntityHandler().createUpdateContext(agent, metadata, null, true);
  					break;
  
  				case DELETE:
  					ctx = sqlConfig.getEntityHandler().createDeleteContext(agent, metadata, null, true);
  					break;
  
  				default:
  					ctx = sqlConfig.getEntityHandler().createSelectContext(agent, metadata, null, true);
  					break;
  				}
  			} else {
  				ctx = sqlConfig.getEntityHandler().createSelectContext(agent, metadata, null, true);
  			}
  			writer.println(ctx.getSql());
  		} catch (SQLException e) {
  			e.printStackTrace();
  		}
  
  		writer.flush();
  
  		return true;
  	}
docs: {@inheritDoc}
  
  @see jp.co.future.uroborosql.client.command.ReplCommand#execute(org.jline.reader.LineReader, java.lang.String[], jp.co.future.uroborosql.config.SqlConfig, java.util.Properties)