ストアドプロシージャでselectコマンドを実行しているWebアプリケーションを作成していますが、同じフェッチされたデータを別のテーブルに挿入したいとします。System.Data.SqlClient.SqlException:文字列またはバイナリデータが切り捨てられる
だから私は、次の
CREATE PROCEDURE profinalinstexpensesonid
(@from varchar(5000),
@to varchar(5000),
@trainer varchar(5000),
@sonvinid varchar(5000)
)
AS
BEGIN
INSERT INTO invoice(sonvinid, tid, date, brandname, zone, location, area, venuename, venue, instructore, amount)
SELECT
instructoreexpense.sonvinid,
sonvininsert.trainer,
CONVERT(VARCHAR, sonvininsert.date, 105) AS date,
sonvininsert.brandname,
SUBSTRING(sonvininsert.zone, 1, 1) AS zone,
sonvininsert.location,
sonvininsert.area,
companysonvinunitvenue.venuename,
sonvininsert.venue,
sonvininsert.instructore,
instructoreexpense.amount
FROM
instructoreexpense
LEFT OUTER JOIN
sonvininsert ON sonvininsert.sonvinid = instructoreexpense.sonvinid
AND sonvininsert.status = '0'
LEFT OUTER JOIN
finalinstructoreexpense ON finalinstructoreexpense.sonvinid = instructoreexpense.sonvinid
LEFT OUTER JOIN
companysonvinunitvenue ON companysonvinunitvenue.id = sonvininsert.comsonvinid
WHERE
sonvininsert.date BETWEEN CONVERT(DATETIME, @from, 105)
AND CONVERT(DATETIME, @to, 105)
AND sonvininsert.trainer = (SELECT empname
FROM trainerdetails
WHERE trid = @trainer)
AND instructoreexpense.sonvinid NOT IN (SELECT CAST(Item AS INTEGER)
FROM SplitString(@sonvinid, ','))
ORDER BY
instructoreexpense.sonvinid
END
と私は
exec profinalinstexpensesonid '01-01-2013','01-01-2017','andrews'
のようなストアドプロシージャを実行するとき、私は、次のエラー
メッセージ8152を取得していますような何かをしようとしましたレベル16、状態13、手順profinalinstexpensesonid、行10
文字列またはバイナリデータは切り捨てられます。私のライン10で
私は、次のコード
insert into invoice(sonvinid, tid, date, brandname, zone, location, area, venuename, venue, instructore, amount)
を持っている私はここで間違っているのか分からないのですか?
ありがとうございます。重複した値を避けるために挿入句にwhere句を追加したい場合はどうすればいいですか? –
@MumbaiWadala、where句に必要な条件を追加して重複を避けることができます。 – Mourya
何か、私はあなたを得ない –