如何从查询生成sql脚本

时间:2008-11-06 04:31:48

标签: sql

有谁知道如何从查询生成SQL脚本?

例如,

  1. 编写一些表格。
  2. 执行自定义操作1.
  3. 编写视图脚本。
  4. 自定义操作2。

4 个答案:

答案 0 :(得分:1)

听起来你想编写一个游标来执行自定义SQL。这很常见且容易做到。您需要做的是指定一些内容来帮助我们更完整地回答您的问题:

  1. 您使用的是哪种类型的SQL服务器? (MSSQL,Oracle,MySQL)
  2. 你在写什么语言? (Java,C ++,PL / SQL,TSQL)
  3. 您可以编写代码(Java / C ++)以从查询生成SQL,也可以使用游标迭代记录集(PL / SQL / TSQL)。您可以使用结果为您提供信息,然后可以通过exec(某种类型取决于语言)以SQL的形式执行。

答案 1 :(得分:1)

...但请在实施动态SQL之前调查SQL注入。查看参数化查询...

答案 2 :(得分:0)

使用Microsoft Sql Server,脚本数据库对象的最佳方法是使用SMO。 Sql Management Objects是一个c#api,但你总是可以使用SqlClient从c#执行t-sql脚本。

答案 3 :(得分:0)

你可能想要像

这样的东西
select 'UPDATE '+table_name+ ' SET description=''(new!) ''+description WHERE description_date>''2008-11-01''' 
    from information_schema.tables where table_name like '%Description'

(此查询生成的查询在 description 列的前面添加了'(new!)',每个最近一行中的每个最近一行,其名称以虚构数据库中的'Description'结尾)。

系统视图 INFORMATION_SCHEMA.TABLES 包含有关所有数据库表的数据,还有 INFORMATION_SCHEMA.VIEWS INFORMATIONS_CHEMA.COLUMNS 等系统 INFORMATION_SCHEMA 表架构中的视图。

希望这会有所帮助。