示例#1
0
文件: Delete.cs 项目: windischb/PgSql
        public PgSqlCommand GetSqlCommand(TableDefinition tableDefinition)
        {
            var sqlCommand = new PgSqlCommand();

            var fromComm = _fromClause.GetSqlCommand(tableDefinition);

            sqlCommand.AppendCommandLine($" DELETE FROM {fromComm.Command}", fromComm.Parameters);

            if (_whereClause != null)
            {
                var whereComm = _whereClause.GetSqlCommand(tableDefinition);
                sqlCommand.AppendCommandLine($"WHERE {whereComm.Command}", whereComm.Parameters);
            }

            if (_returning != null)
            {
                sqlCommand.AppendCommand($"RETURNING {_returning.GetSqlCommand(tableDefinition).Command}");
            }

            return(sqlCommand);
        }
示例#2
0
文件: Update.cs 项目: windischb/PgSql
        public PgSqlCommand GetSqlCommand(TableDefinition tableDefinition)
        {
            var sqlCommand = new PgSqlCommand();


            sqlCommand.AppendCommandLine($"UPDATE {_updateDestination.GetSqlCommand(tableDefinition).Command}");

            if (_set != null)
            {
                sqlCommand.AppendCommandLine("SET");
                var setComm = _set.GetSqlCommand(tableDefinition);
                sqlCommand.AppendCommand($"{AddIntend(setComm.Command, 4)}", setComm.Parameters);
            }

            if (_whereClause != null)
            {
                var whereComm = _whereClause.GetSqlCommand(tableDefinition);
                sqlCommand.AppendCommandLine($"WHERE {whereComm.Command}", whereComm.Parameters);
            }

            return(sqlCommand);
        }
示例#3
0
文件: Select.cs 项目: windischb/PgSql
        public PgSqlCommand GetSqlCommand(TableDefinition tableDefinition)
        {
            var sqlCommand = new PgSqlCommand();

            sqlCommand.AppendCommand("SELECT ");

            if (_exists != null)
            {
                var existsCommand = _exists.GetSqlCommand(tableDefinition);
                sqlCommand.AppendCommand(existsCommand.Command, existsCommand.Parameters);
                return(sqlCommand);
            }

            if (_distinct != null)
            {
                if (_distinct is bool)
                {
                    sqlCommand.AppendCommand($"DISTINCT ");
                }
                else if (_distinct is string)
                {
                    sqlCommand.AppendCommand($"DISTINCT ON ({_distinct}) ");
                }
            }

            var selectComm = _selectList.GetSqlCommand(tableDefinition);

            sqlCommand.AppendCommandLine($"{selectComm.Command}", selectComm.Parameters);


            if (_from != null)
            {
                var fromComm = _from.GetSqlCommand(tableDefinition);
                sqlCommand.AppendCommandLine($"FROM {fromComm.Command}", fromComm.Parameters);
            }

            if (_where != null)
            {
                var whereComm = _where.GetSqlCommand(tableDefinition);
                if (!String.IsNullOrWhiteSpace(whereComm.Command))
                {
                    sqlCommand.AppendCommandLine($"WHERE {whereComm.Command}", whereComm.Parameters);
                }
            }

            if (_groupBy != null)
            {
                var groupByComm = _groupBy.GetSqlCommand(tableDefinition);
                sqlCommand.AppendCommandLine($"GROUP BY {groupByComm.Command}");
            }

            if (_orderBy != null)
            {
                var orderByComm = _orderBy.GetSqlCommand(tableDefinition);
                sqlCommand.AppendCommandLine($"ORDER BY {orderByComm.Command}");
            }

            if (_offset != null)
            {
                var offsetComm = _offset.GetSqlCommand(tableDefinition);
                sqlCommand.AppendCommandLine($"OFFSET {offsetComm.Command}");
            }


            if (_limit != null)
            {
                var limitComm = _limit.GetSqlCommand(tableDefinition);
                sqlCommand.AppendCommandLine($"LIMIT {limitComm.Command}");
            }

            if (_for != null)
            {
                var forComm = _for.GetSqlCommand(tableDefinition);
                sqlCommand.AppendCommandLine($"FOR {forComm.Command}");
            }

            return(sqlCommand);
        }