【发布时间】:2010-12-06 21:10:27
【问题描述】:
我正在为 StackQL 进行下一次更新。
我想做的一件事是能够查询多个版本。因此,例如,当我加载 10 月份的数据时,我并没有删除旧的 9 月份数据库。它还在外面。事实上,你甚至可以通过像这样包含数据库名称来查询它:
select top 10 * from SO_Sept09..Posts
当他们开始为 ServerFault 和 SuperUser 提供数据时,这将变得更加重要。
但我不喜欢有一大堆数据库来支持这一点。我更愿意将所有数据放在同一个数据库中,并将每个不同的集合分开到它自己的模式中。但是为了使这成为可能,我需要能够将默认模式设置为运行查询的存储过程的一部分,基于传递给存储过程的参数,该参数告诉它用户从未来的下拉列表中选择了哪个数据库出现在工具栏中。
StackQL 中的查询最终只是传递给 exec() 函数,如下所示:
exec(@QueryText)
我可以在存储过程中或在 QueryText 字符串 (ala USE [DatabaseName]) 之前做些什么来设置查询中使用的默认模式吗?
【问题讨论】:
标签: sql-server sql-server-2005 stored-procedures schema