を予期しているWHERE
句がなくても正常に動作している次の動的クエリがあります。T-SQL:動的SQLでパラメータを使用する方法は?
私がそれを渡すと、結果が得られません。私はCAST
とCONVERT
を試しましたが、結果はありません。私はそれが間違っているかもしれない、誰かが助けることができますか?あなたの変数は文字列形式またはバイナリに移入なっている場合
CREATE PROCEDURE [dbo].[sp_Test1] /* 'b0da56dc-fc73-4c0e-85f7-541e3e8f249d' */
(
@p_CreatedBy UNIQUEIDENTIFIER
)
AS
DECLARE @sql NVARCHAR(4000)
SET @sql ='
DECLARE @p_CreatedBY UNIQUEIDENTIFIER
SELECT
DateTime,
Subject,
CreatedBy
FROM
(
SELECT
DateTime, Subject, CreatedBy,
ROW_NUMBER() OVER(ORDER BY DateTime) AS Indexing
FROM
ComposeMail
WHERE
CreatedBy = @p_CreatedBy /* <--- the problem is in this condition */
) AS NewDataTable
'
EXEC sp_executesql @sql
私はこれを試して、それは私にfollowigのエラーを与える働いていない "プロシージャは、 'ntext/nchar/nvarchar'タイプのパラメータ '@parameters'を期待しています。 –
'N'を追加して文字列NCHARを作成します。EXECUTE sp_executesql @sql、N '@ p UNIQUEIDTITIER'、... –