EXECUTE sp_executesql 出错
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sp_DLookup]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[sp_DLookup]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[sp_DLookup]
@psField varchar(100),
@psTable varchar(100),
@psCriteria varchar(100)
AS
declare @strSql varchar(1000)
BEGIN
set @strSql = N'Select top 1 '+@psField+N' as Result From '+@psTable
If (@psCriteria != '')
set @strSql = @strSql + N' Where '+@psCriteria
EXECUTE sp_executesql @strSql, N'@psField varchar(100) output',@psField output
END
GO
错误提示:Msg 214, Level 16, State 2, Procedure sp_executesql, Line 1
Procedure expects parameter '@statement' of type 'ntext/nchar/nvarchar'.