を実行するために使用していますものです。この挿入戻った場合
INSERT your_table (param1, fname, lanme, mi, email, PHID)
SELECT @p1, @p2, @p3, @p4, @p5, @p6
:あなたと仮定すると
CREATE PROC usp_Insert_Lst(
@p1 varchar(50)
,@p2 varchar(50)
,@p3 varchar(50)
,@p4 varchar(50)
,@p5 varchar(50)
,@p6 varchar(50)
)
AS
SELECT @p1, @p2, @p3, @p4, @p5, @p6
GO
exec usp_Insert_Lst 'E3441-NI0dd4-12',
null, -- fname
null, -- lanme
null, -- mi
null, -- email
'1+FEU0+1663' -- PHID
GO
--Result
--------------- ---- ---- ---- ---- ------------
E3441-NI0dd4-12 NULL NULL NULL NULL 1+FEU0+1663
はあなたの手順(usp_Insert_Lst)にこのような何かを持っている '文字列またはバイナリデータが切り捨てられます。'
これは、your_table.fnameまたはyour_table.PHIDがLEN( 'E3441-NI0dd4-12')および/またはLEN(1 + FEU0 + 1663)のサイズより小さいことを意味します。あなたのコメントに基づいて
:私はVARCHAR(50)としてフィールドを持っている
ストアドプロシージャは、PARAM1のVARCHAR(50)とyour_table.field1 VARCHAR(50) @それが、その後可能性がある場合は文字列またはバイナリメッセージを与えるエラーは、プロシージャの開始とyour_tableへの挿入の間にあります。
CREATE PROC usp_Insert_Lst(
@p1 varchar(50)
...
)
AS
...
... <-- error to be found here
...
INSERT your_table (param1,...)
SELECT @p1,...
実行する方法とストアドプロシージャコードを投稿できますか? – Taryn
これを '' 'の間に置いたのですか?...これは' '1 + FEU0 + 1663''ですか? – Lamak
あなたのspのコードとあなたが挿入しているテーブルの定義を表示する必要があります – Lamak