2016-11-12 69 views
1
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); 

当我运行上面的语句,它显示了这一点:在SQL中创建函数时,标量变量必须是INT?

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

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

+1

这是哪个DBMS? MySQL的? MS SQL Server? PostgreSQL的?甲骨文?请** [编辑] **您的问题,并使用标记添加DBMS。另请参阅:http://stackoverflow.com/tags/sql/info – Pang

回答

0

我的答案是

SELECT * FROM show_inst_borrowed_out('BR00000004') 

既然你它声明为CHAR,你必须把它们放在引号。

+0

如果它确实帮助了您,请将其标记为已回答。 –

+0

谢谢你的帮助! – Dave