存储过程找不到链接服务器

时间:2016-03-21 15:21:26

标签: sql-server tsql stored-procedures

我遇到过程和链接服务器的问题。 (简单方案显示在图像中)enter image description here

我选择哪个工作得很好(它选择所有来自城市的学生'考纳斯'):

 SELECT * FROM myserver.dbo.student
  WHERE student.cityid =
 (SELECT [id] FROM [LinkedServer].[Database].[dbo].[city]
  WHERE [name]='Kaunas')

现在我尝试制作一个存储过程,可以将城市作为参数,并选择来自城市的学生。

    CREATE PROCEDURE StudentByCity
    -- parameters
    @CityName varchar = 'Kaunas'
AS
BEGIN
        SET NOCOUNT ON;
        SELECT * FROM myserver.dbo.student
        WHERE student.cityid =
           (SELECT [id] FROM [LinkedServer].[Database].[dbo].[city]
           WHERE [name]=@CityName)
END
GO

但是执行程序会给我返回空选。

1 个答案:

答案 0 :(得分:3)

@CityName varchar = 'Kaunas'

您是否缺少参数@CityName varchar size?尝试

@CityName varchar(25) = 'Kaunas'