package clause

type Values struct {
	Columns []Column
	Values  [][]interface{}
}

// Name from clause name
func (Values) () string {
	return "VALUES"
}

// Build build from clause
func ( Values) ( Builder) {
	if len(.Columns) > 0 {
		.WriteByte('(')
		for ,  := range .Columns {
			if  > 0 {
				.WriteByte(',')
			}
			.WriteQuoted()
		}
		.WriteByte(')')

		.WriteString(" VALUES ")

		for ,  := range .Values {
			if  > 0 {
				.WriteByte(',')
			}

			.WriteByte('(')
			.AddVar(, ...)
			.WriteByte(')')
		}
	} else {
		.WriteString("DEFAULT VALUES")
	}
}

// MergeClause merge values clauses
func ( Values) ( *Clause) {
	.Name = ""
	.Expression = 
}