Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import com.myuan.transsql._
- import com.myuan.transsql.query.BaseCommand
- object main {
- def main(args: Array[String]): Unit = {
- val teraSQL : String = """CREATE volatile TABLE table3, no logs, AS (sel id_num AS new_id, family_id, birth_dt, wake_tm, col1 FROM table1 WHERE rel_type (NOT cs) LIKE 'Matt%'
- |AND
- |birth_dt >= date - 60
- |AND
- |(
- | friend1,friend2
- |)
- |IN (sel friend1,
- | friend2 FROM ${schema2}.table4 WHERE home_type='house' GROUP BY 1,
- | 2)
- |AND
- |upper (trim (id_num))(casespecific) = lower (trim (id_num))(casespecific ) qualify rank() OVER (partition BY id_num ORDER BY birth_dt ASC , wake_tm ASC) = 1
- |UNION
- | sel id_num AS new_id,
- | family_id,
- | birth_dt,
- | wake_tm,
- | col1
- |FROM table10
- |WHERE NAME (NOT cs)
- |AND birth_dt >= date - 60AND upper (trim (id_num))(casespecific) = lower (trim (id_num))(casespecific ) qualify rank() OVER (partition BY id_num ORDER BY birth_dt ASC , wake_tm ASC) = 1) WITH data PRIMARY INDEX(new_id) ONCOMMIT preserve rows""".stripMargin
- val comm: BaseCommand = QueryParser.getCommand(teraSQL)
- var ansiSQL : String = ""
- comm.parse(teraSQL)
- ansiSQL = comm.toSQL()
- println(Console.BLUE + "Printing Teradata SQL Input")
- println(Console.WHITE + teraSQL)
- println(Console.BLUE + "Printing ANSI SQL")
- println(Console.WHITE + ansiSQL)
- println(Console.BLUE + "Printing SQL dependencies")
- println(Console.WHITE + comm.showDependency())
- println(Console.BLUE + "Printing SQL stats")
- println(Console.WHITE + comm.showStats())
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement