Skip to content
wvanbergen edited this page Sep 13, 2010 · 4 revisions

Sample usage:


>> require 'sql_tree'
=> false

# Start by parsing a query
>> tree = SQLTree["select * from table where field='value'"]
=> SQLTree::Node::SelectQuery[SELECT * FROM "table" WHERE ("field" = 'value')]

# Inspect some parts of the query
>> tree.from
=> [SQLTree::Node::TableImport["table"]]
>> tree.where
=> SQLTree::Node::ComparisonExpression[("field" = 'value')]
>> tree.where.rhs
=> SQLTree::Node::Value['value']

# Now, lets change the query somewhat
>> tree.from.first.table = 'another_table'
=> "another_table"
>> tree.where.rhs.value = "Something different"
=> "Something different"

# Return the new query as a string
>> tree.to_sql
=> "SELECT * FROM \"another_table\" WHERE (\"field\" = 'Something different')"
Clone this wiki locally