如果有人能够为这个问题想出一个更合适的标题,那么我全都听见了。
我继承了一个sql脚本,该脚本从3个数据库中收集报告信息,使用大量的#temporary表来存储过滤后的数据。我需要使用此脚本的输出来使用Django生成报告。
我已经开始通过inspectdb'ing我需要的dbs并为必要的表格制作模型。我最初的计划是对sql脚本进行逆向工程(~330行和20个查询),但事实证明这比我想象的要复杂得多。有没有办法让我运行这个脚本并将#temporary表保存到另一个db或其他数据库中的Django模型?
我正在使用Django 1.5和MS SQL Server 2008 R2(使用django-mssql后端)。谢谢你的时间。
== EDIT ==
我将详细介绍这个脚本的结构:
SET NOCOUNT ON
declare variables here
set them here
SELECT f.val1, b.val2
INTO #temp_table1
FROM myDB1.dbo.foo f,
myDB1.dbo.bar b,
myDB2.dbo.foobar fb
WHERE ...
etc
-- followed by lots more selections --
.
.
.
SET NOCOUNT OFF
SELECT
[22 things get selected and manipulated here]
[This is the data I really want]
FROM
[mixture of #temp tables and myDB1]
WHERE [...]
GROUP BY [...]
ORDER BY [...]
SET NOCOUNT ON
DROP TABLE #temp_table1
.
.
.
SET NOCOUNT OFF
我希望这会有所帮助
答案 0 :(得分:0)
我会为每个临时表创建一个Django模型。在每个模型中,我将定义一个import(self)
方法来截断表并选择所有行。
您的其他代码将决定何时导入每个临时表的数据。也许它不需要每次都导入,因此您可以优化导入以仅加载自上次导入以来已更改的数据。
然后你可以使用Django查询来执行你的SELECT。