2

假设我有这两张表,有五列,其中四列完美匹配,但最后一个具有不同的数据类型,一个是 char,另一个是 uniqueidentifier。但是我有这个函数,我们称它为 dbo.x,它接受 uniqueidentifier 并在数据库的其他地方寻找对应的名称。

所以我需要做的是开发这个脚本,它将数据从 table1 复制到 table2 并使用函数转换最后一列。

在做了一些研究之后,我尝试了这个(显然没有奏效):

INSERT INTO table1 (col1, col2, col3, col4, col5)
SELECT col1, col2, col3, col4, col5 AS dbo.x(table2.col5)
FROM table2

有人可以给我一些关于从这里去哪里的建议吗?

4

2 回答 2

3

您已切换表达式和别名 - 语法应如下所示:

INSERT INTO table1 (col1, col2, col3, col4, col5)
SELECT col1, col2, col3, col4, dbo.x(table2.col5) AS col5
FROM table2

通常,当您在 select 语句中使用表达式并希望为结果列命名时,您首先编写表达式,然后编写它的别名,例如

SELECT <expression> AS <column-name>
FROM ...
于 2013-04-05T16:02:32.013 回答
3

这个怎么样

INSERT INTO table1 (col1, col2, col3, col4, col5)
SELECT col1, col2, col3, col4, dbo.x(col5)
FROM table2
于 2013-04-05T16:03:04.197 回答