代码或脚本中的ddl

时间:2014-04-28 09:39:08

标签: sql database postgresql ddl

我需要在应用程序流程中运行ddl命令(例如CREATE,DROP)(而不仅仅是一次性初始化)。编写一个大的.sql脚本来执行它并使用命令行从代码运行脚本是否更好,还是首选从java / c#代码中单独运行每个sql命令?

一个大的.sql专业人士:

  • 脚本可以很容易地被dba和开发人员在开发期间重用
  • 更容易在本机编辑器中编辑大型SQL

一个很大的.sql缺点:

  • 我的应用程序将通过命令行执行外部.sql脚本。如果有任何失败,我无法知道它在哪里失败(无论是解析日志)还是在特定命令失败后采取特定的应用程序操作

1 个答案:

答案 0 :(得分:0)

我会在数据库端使用prcedural语言API(包或一些函数和过程)来创建和删除这些表。

它允许您以创建者权限执行这些权限,并避免应用程序端的潜在安全风险。