2

是否可以在 SQL 查询中使用函数而不在数据库上创建它?我正在尝试使用函数来选择正确的数据,但我不允许更改数据库。

例如下面的例子:

CREATE FUNCTION dbo.getSomeValue(@Id INT)
RETURNS VARCHAR(50) AS
BEGIN
   ...
END

SELECT Customer.Id, dbo.getSomeValue(Customer.Id) AS Value FROM Customer

在这种情况下,我想使用给定的函数而不创建它,这可能吗?如果是这样,怎么做?

4

1 回答 1

0

如何调用未定义的函数?不可能。

如果该函数不包含复杂的过程代码并且可以编写为单个表达式,则可以直接在 SQL 选择列表中使用该表达式,如下所示:

SELECT Customer.Id, (your expression) AS Value FROM Customer

您可以在(your expression)其中插入简单计算或预定义函数。

或者您可以使用 scala 子查询:

SELECT Customer.Id, (SELECT ... FROM ... WHERE ...) AS Value FROM Customer

scala 子查询应该只返回一行。

于 2013-09-12T09:29:38.893 回答