【问题标题】:When create function in SQL, Scalar variable must be INT?在SQL中创建函数时,标量变量必须是INT?
【发布时间】:2017-03-26 08:01:17
【问题描述】:
CREATE FUNCTION show_inst_borrowed_out(@bRecordID CHAR(10))
RETURN TABLE
AS
RETURN
(SELECT bRecordID, br.instID, g,instType
FROM borrowRecord br
INNER JOIN gear g ON br.instID = g.instID
WHERE bRecordID = @bRecordID);

SELECT * FROM show_inst_borrowed_out(BR00000004);

当我运行上面的语句时,它会显示:

消息 207,级别 16,状态 1,行 416 列名“BR00000004”无效。

如果我的标量变量类似于 BR00000004 [CHAR(10)],我应该输入什么?

【问题讨论】:

  • 这是在哪个 DBMS 中? MySQL?微软 SQL 服务器? PostgreSQL?甲骨文?请edit您的问题,并使用标签添加正在使用的 DBMS。另见:stackoverflow.com/tags/sql/info

标签: sql user-defined-functions scalar


【解决方案1】:

我的答案是

SELECT * FROM show_inst_borrowed_out('BR00000004')

由于您将其声明为 CHAR,因此您必须将其括在撇号中。

【讨论】:

  • 感谢您的帮助!!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-26
相关资源
最近更新 更多