我试图创建函数来调用用户选择的表,我正在尝试制作并完成它
CREATE FUNCTION showSelectedTable(@code varchar(1)) RETURNS @tempEMP TABLE (id nvarchar(9),name nvarchar(20),mdname nvarchar(20),lname nvarchar(50), tgl datetime,adrs nvarchar(50),sex nvarchar(1),salary int,superssn nvarchar(9),dno nvarchar(3)) BEGIN DECLARE @temp1 TABLE (id nvarchar(9),name nvarchar(30),idmgr nvarchar(9),dtime datetime) DECLARE @temp2 TABLE (EmpName nvarchar(30),ProjectName nvarchar(30)) if @code = 'E' BEGIN INSERT INTO @tempEMP SELECT * FROM employee RETURN; END ELSE IF @code = 'D' BEGIN INSERT INTO @temp1 SELECT * FROM department RETURN; END ELSE IF @code = 'W' BEGIN INSERT INTO @temp2 SELECT e.fname,p.pname FROM works_on W,employee E,project P WHERE E.ssn = W.ssn AND W.pno = P.pnumber RETURN; END RETURN; END
但是当尝试打电话时,
select dbo.showSelectedTable 'W'
我收到这条消息:
The multi-part identifier "dbo.showSelectedTable" could not be bound.
谁能帮我解决这个问题吗?
最佳答案
使用这个,
select * from dbo.showSelectedTable('W')
它是一个表值函数
,就像对待表一样对待表值函数。
关于sql - 无法绑定(bind)多部分标识符 "dbo.showSelectedTable",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36997551/