创建 table 变量以匹配视图中的列是否有任何快捷方式?
Are there any shortcuts for creating a table variable to match the columns in a view?
我经常需要在过程中创建 table 变量,以存储视图中的前 25 行以供处理。
我需要将这些小批量临时存储在变量中,因为我正在执行大量修改底层 table 中数据的操作,其中一些操作导致行不再出现在根据视图标准查看自身(这是设计使然)。
我需要在整个处理会话中保留数据,我不能依靠视图本身在整个操作过程中保持一致。
问题是,由于我们在多个数据库的许多实例中都这样做,如果我们对任何视图中的列进行任何更改,代码就会变得容易出错,因为我们还必须进行一定要修改相关的 table 类型 - 不要出现任何拼写错误或错误,或忽略任何内容。
所以我的问题是,我们是否可以通过声明 "Match the current columns in this view?"
来声明 table 变量(或 table 类型,如有必要)
这会让事情变得容易得多,因为它会自动使所有相关 table 变量与相关视图的当前布局保持同步,并消除试图保持一切正常所带来的头痛手动。
如果不存在这样的快捷方式,那么我想我们只需要根据需要创建与我们的视图相匹配的自定义 table 类型,以至少使其尽可能集中。
如果类型变量的用法可以用 Temporary Table 代替,例如:
SELECT * INTO #TempTable FROM myView
会完美地完成工作。
使用 SELECT INTO,table 将使用您 select 语句中可用的列和元数据创建。
希望对您有所帮助。
我经常需要在过程中创建 table 变量,以存储视图中的前 25 行以供处理。
我需要将这些小批量临时存储在变量中,因为我正在执行大量修改底层 table 中数据的操作,其中一些操作导致行不再出现在根据视图标准查看自身(这是设计使然)。
我需要在整个处理会话中保留数据,我不能依靠视图本身在整个操作过程中保持一致。
问题是,由于我们在多个数据库的许多实例中都这样做,如果我们对任何视图中的列进行任何更改,代码就会变得容易出错,因为我们还必须进行一定要修改相关的 table 类型 - 不要出现任何拼写错误或错误,或忽略任何内容。
所以我的问题是,我们是否可以通过声明 "Match the current columns in this view?"
来声明 table 变量(或 table 类型,如有必要)这会让事情变得容易得多,因为它会自动使所有相关 table 变量与相关视图的当前布局保持同步,并消除试图保持一切正常所带来的头痛手动。
如果不存在这样的快捷方式,那么我想我们只需要根据需要创建与我们的视图相匹配的自定义 table 类型,以至少使其尽可能集中。
如果类型变量的用法可以用 Temporary Table 代替,例如:
SELECT * INTO #TempTable FROM myView
会完美地完成工作。
使用 SELECT INTO,table 将使用您 select 语句中可用的列和元数据创建。
希望对您有所帮助。