All Downloads are FREE. Search and download functionalities are using the official Maven repository.

db.sql.api.cmd.executor.IWithQuery Maven / Gradle / Ivy

There is a newer version: 1.7.6-RC2
Show newest version
package db.sql.api.cmd.executor;

import db.sql.api.Cmd;
import db.sql.api.cmd.ICmdFactory;
import db.sql.api.cmd.basic.IDataset;
import db.sql.api.cmd.basic.IDatasetField;
import db.sql.api.cmd.basic.ITable;
import db.sql.api.cmd.basic.ITableField;
import db.sql.api.cmd.struct.*;
import db.sql.api.cmd.struct.conditionChain.IConditionChain;
import db.sql.api.cmd.struct.query.*;

/**
 * WITH 查询
 *
 * @param 
 * @param 
 * @param 
 * @param 
 * @param 
 * @param 
 * @param 
 * @param 
 * @param ,
        FROM extends IFrom,
        JOIN extends IJoin,
        ON extends IOn,
        JOINS extends Joins,
        WHERE extends IWhere,
        GROUPBY extends IGroupBy,
        HAVING extends IHaving,
        ORDERBY extends IOrderBy,
        LIMIT extends ILimit,
        FORUPDATE extends IForUpdate,
        UNION extends IUnion
        > extends IQuery<
        SELF,
        TABLE,
        TABLE_FIELD,
        COLUMN,
        V,
        CMD_FACTORY,
        CONDITION_CHAIN,
        WITH,
        SELECT,
        FROM,
        JOIN,
        ON,
        JOINS,
        WHERE,
        GROUPBY,
        HAVING,
        ORDERBY,
        LIMIT,
        FORUPDATE,
        UNION
        >, IDataset {

    /**
     * 让WithQuery 成为一个表(同一个withQuery复用时使用)
     *
     * @param alisa
     * @return
     */
    TABLE asTable(String alisa);

    /**
     * 递归
     *
     * @param params 递归参数
     * @return 自己
     */
    SELF recursive(String... params);

    RECURSIVE getRecursive();
}