【问题标题】:How to create just like array in SQL Server 2005/2000?如何在 SQL Server 2005/2000 中创建类似数组?
【发布时间】:2013-01-27 08:49:14
【问题描述】:

我知道我们不能在 SQL Server 中创建数组。我的数据库中有 25 个不同的表。我想在这些表中添加额外的列。所以我想要一个数组,这样我就可以将我的表名存储到其中。我可以一一访问它们并插入新列。在 SQL Server 中没有 for 循环,我可以使用 while 循环。

【问题讨论】:

  • SQL 没有数组——只有表。从概念上讲,表是一个数组。
  • 为什么不能简单地为每个表编写 ALTER TABLE 脚本?与创建 25 行快速 ALTER TABLE 代码相比,找出正确的 WHILE LOOP 需要更长的时间。

标签: sql sql-server-2005 sql-server-2000


【解决方案1】:

您可以轻松地将表名存储到 表变量 中,然后在该表变量中还有一个 Done 列 - 类似于:

DECLARE @AllMyTables TABLE (TableName VARCHAR(200), Done BIT)

然后将您的表格插入到该表格变量中:

INSERT INTO @AllMyTables(TableName, Done)
    SELECT name, 0
    FROM sys.tables

现在,您可以轻松地一次获取一张表并对其进行操作:

DECLARE @TableName VARCHAR(200)

SELECT TOP (1) @TableName = TableName FROM @AllMyTables WHERE Done = 0

现在添加您的列,更新Done 列以表明您已完成,然后继续......

【讨论】:

    猜你喜欢
    • 2023-03-27
    • 2010-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-25
    • 1970-01-01
    相关资源
    最近更新 更多