sql - 我在使用 sql 语言函数时遇到问题
问题描述
我已经使用 SQL 语言工作了1 个月。这就是为什么我可能不明白的原因。但是我在创建这些函数时总是出错。我在那里写了代码。错误信息如下:
当不使用 EXISTS 引入子查询时,选择列表中只能指定一个表达式。
CREATE FUNCTION deneme(
@ID int
)
RETURNS nvarchar(max)
AS
BEGIN
DECLARE @value nvarchar(max)
SET @value = (
SELECT * FROM information
WHERE @ID = Person_id
)
RETURN @value
END
解决方案
您不能将所有列值分配给这样的一个变量,并且由于您要传递一个ID
人,并且您希望您的函数返回该人的信息
CREATE FUNCTION dbo.deneme
(
@ID int
)
RETURNS NVARCHAR(300)
AS
BEGIN
DECLARE @Value NVARCHAR(300) = N'';
SELECT @Value = CONCAT(I.FirstName, N' ', I.LastName)
FROM Information I
WHERE I.PersonId = @ID;
RETURN @Value;
END
推荐阅读
- image-processing - 有人可以向我解释给定 github 链接中使用的“局部最大值”方法吗?
- javascript - 按类名获取单选按钮值
- reactjs - React Js 与 Visual Studio 2017 与 Typescript
- java - Spark Structured Streaming 代码在读取 java 中的 json 时出现问题,类似的东西适用于 scala 中的 spark2-shell
- laravel - 我是否在正确考虑 Redis::throttle ?
- linux - 将文件夹中的所有文件复制到另一个以 . 到文件名并将其重命名回原始文件名
- java - Web如何防止修改元素属性值引起的安全问题?如禁用或隐藏
- c# - NLog 没有使用 LogManager.GetCurrentClassLogger 中最衍生的类
- sql - 通过 Apache Phoenix 向表中添加默认值等于 HBase 中现有列的值的列
- azure - 解压缩存储在 Azure Databricks FileStore 中的文件夹