为什么这个 TSQL 打印失败?

oeb*_*nez 3 sql t-sql sql-server-2008

看,我遇到了问题,此查询未显示结果,但在 Visual Studio 中,此查询成功(不会出错)。我想执行一个存储过程,当我用 kddokter 执行它时,它会显示 namadokter : nmdokter。

CREATE PROCEDURE lihat_nama
    @kode CHAR(5),
    @nama VARCHAR(30) OUTPUT
    as
    SELECT @nama = nmdokter
    FROM dokter
    WHERE @kode = kddokter


DECLARE @nm VARCHAR(30)
EXEC lihat_nama 'DR002', @nm OUTPUT
PRINT 'Nama Dokter : ' + @nm
Run Code Online (Sandbox Code Playgroud)

SQL*_*ace 6

看起来@nm 是空的,t-sql 中的任何 + null 都是空的

尝试这个

PRINT 'Nama Dokter : ' + isnull(@nm,'')
Run Code Online (Sandbox Code Playgroud)

如果@nm 为空,您将只看到 Nama Dokter :已打印

也不应该是

EXEC lihat_nama 'DR002',  @nama =@nm OUTPUT
Run Code Online (Sandbox Code Playgroud)