列名または指定された値の数が、ストアード・プロシージャーの表定義と一致しません

ミケオ

次のような新しい行を追加しました。

@imageunc + 'signatures\' + RTRIM(salespoc.SLPRSNFN) + ' '
    + RTRIM(salespoc.SPRSNSLN) + '.jpg' AS 'SigImagePath'

次に、エラーの受信を開始しました。

「メッセージ213、レベル16、状態1、プロシージャMVTS_repContractQuote、行58列名または指定された値の数がテーブル定義と一致しません。」

以下は私のストアドプロシージャです。誰かがこれについて私を助けることができますか?

USE [TEST]
GO
/****** Object:  StoredProcedure [dbo].[TEST_repContractQuote]    Script Date: 09/08/2014 10:48:26         ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

/*
exec TEST_repContractQuote '0000000023 '
exec TEST_repContractQuote '1000000045 '
select STRTDATE, ENDDATE, CONFGREF, * from svc00601 where contnbr='1000000045'
*/
ALTER procedure [dbo].[MVTS_repContractQuote] @ContractNo AS VARCHAR(20) AS
BEGIN


DECLARE @rep TABLE (
    CustNo VARCHAR(20),
    CustName VARCHAR(200),
    Addr1 VARCHAR(100),
    Addr2 VARCHAR(100),
    Addr3 VARCHAR(100),
    CSZ VARCHAR(100),
    Country VARCHAR(50),
    ContactPerson VARCHAR(50),
    Phone VARCHAR(20),
    Fax VARCHAR(20),
    Qty NUMERIC(9,2),
    Desc1 VARCHAR(200),
    Desc2 VARCHAR(200),
    StartDate DATETIME,
    EndDate DATETIME,
    Desc3 VARCHAR(200),
    LineNoteindx NUMERIC(19,5),
    LineNotes TEXT,
    LineTotal NUMERIC(12,2),
    Total NUMERIC(12,2),
    CurrSymbol VARCHAR(5),
    TermsOfSale VARCHAR(100),
    PaymentTerms VARCHAR(200),
    Warranty VARCHAR(100),
    QuoteValidFor VARCHAR(100),
    SalesPerson VARCHAR(200),
    ContStatus SMALLINT,
    Noteindx NUMERIC(19,5),
    Notes TEXT)

-- Get the name of a random images in the d:\gpshare\images directory
declare  @cmd        varchar(255),
    @rc         int,
    @imagepath  varchar(1024),
    @imagedir   varchar(255),
    @imageunc   varchar(255)

select @imagedir = 'D:\gpshare\images\'
select @imageunc = '\\dynamics\gpshare\images\'
select @cmd      = 'dir /b/a-d-h ' + @imagedir

declare @output table (output varchar(255) null)
insert @output exec @rc = master..xp_cmdshell @cmd
select @imagepath = (select TOP 1 @imageunc+output from @output where output is not null ORDER BY NEWID())


INSERT @rep
SELECT h.CUSTNMBR, 
    cust.CUSTNAME AS 'CustomerName',
    adr.ADDRESS1, 
    adr.ADDRESS2, 
    adr.ADDRESS3, 
    RTRIM(adr.CITY)+', '+RTRIM(adr.STATE)+' '+RTRIM(adr.ZIP) AS CSZ, RTRIM(adr.COUNTRY) AS 'Country',
    adr.CNTCPRSN, 
    '('+SUBSTRING(adr.PHONE1,1,3)+') '+SUBSTRING(adr.PHONE1,4,3)+'-'+SUBSTRING(adr.PHONE1,7,4) AS 'Phone',
    CASE adr.FAX 
    WHEN '' THEN ''
    ELSE '('+SUBSTRING(adr.FAX,1,3)+') '+SUBSTRING(adr.FAX,4,3)+'-'+SUBSTRING(adr.FAX,7,4) END AS 'FaxNo',
    MAX(l.QUANTITY) AS 'Qty', 
    (SELECT TOP 1 sl.DSCRIPTN FROM SVC00601 sl
    WHERE sl.CONTNBR=@ContractNo AND sl.CONSTS=l.CONSTS AND sl.LNSEQNBR=MIN(l.LNSEQNBR)) AS 'Desc1',
    (SELECT TOP 1 sl.SERLNMBR FROM SVC00601 sl
    WHERE sl.CONTNBR=@ContractNo AND sl.CONSTS=l.CONSTS AND sl.LNSEQNBR=MIN(l.LNSEQNBR)) AS 'Desc2',
    (SELECT TOP 1 sl.STRTDATE FROM SVC00601 sl
    WHERE sl.CONTNBR=@ContractNo AND sl.CONSTS=l.CONSTS AND sl.LNSEQNBR=MIN(l.LNSEQNBR)) AS 'StartDate',
    (SELECT TOP 1 sl.ENDDATE FROM SVC00601 sl
    WHERE sl.CONTNBR=@ContractNo AND sl.CONSTS=l.CONSTS AND sl.LNSEQNBR=MIN(l.LNSEQNBR)) AS 'EndDate',
    --MAX('Coverage Period: '+CAST(CAST(l.STRTDATE AS DATE) AS VARCHAR(20))+' - '+
    --CAST(CAST(l.ENDDATE AS DATE) AS VARCHAR(20))) AS 'Desc3',
    '' AS 'Desc3',
    (SELECT TOP 1 sn.NOTEINDX FROM SVC00601 sl 
    JOIN SY03900 sn ON sn.NOTEINDX=sl.NOTEINDX 
    WHERE sl.CONTNBR=@ContractNo AND sl.CONSTS=l.CONSTS AND sl.LNSEQNBR=MIN(l.LNSEQNBR))
    AS 'LineNoteIndx',
    '',
    SUM(l.ORIGTOTAL) AS 'LineTotal',
    MAX(h.ORIGTOTAL) AS 'Total',
RTRIM(curr.CRNCYSYM) AS 'CurrSymbol', 
RTRIM(e4F1.LONGNAME) AS 'TermsOfSale', 
RTRIM(e4F2.LONGNAME) AS 'PaymentTerms', 
RTRIM(e4F3.LONGNAME) AS 'Warranty', 
RTRIM(e4F4.LONGNAME) AS 'QuoteValidFor',
RTRIM(salespoc.SLPRSNFN) + ' ' + RTRIM(salespoc.SPRSNSLN) AS 'SalesPerson', 
@imageunc + 'signatures\' + RTRIM(salespoc.SLPRSNFN) + ' ' + RTRIM(salespoc.SPRSNSLN) + '.jpg'  AS 'SigImagePath', 
h.CONSTS,
h.NOTEINDX, 
''
FROM svc00600 h
LEFT JOIN RM00102 adr ON RTRIM(h.CUSTNMBR)=RTRIM(adr.custnmbr) AND h.ADRSCODE=adr.ADRSCODE
LEFT JOIN RM00101 cust ON RTRIM(cust.CUSTNMBR) = RTRIM(adr.CUSTNMBR)
INNER JOIN DYNAMICS..MC40200 curr ON curr.CURNCYID=h.CURNCYID
INNER JOIN SVC00601 l ON RTRIM(h.CONTNBR)=RTRIM(l.CONTNBR) AND h.CONSTS=l.consts
LEFT JOIN EXT00103 e103F1 ON e103F1.PT_UD_Key=h.CONTNBR AND e103F1.PT_UD_Number=1 AND e103F1.PT_Window_ID='CONTRACTINFO'
LEFT JOIN EXT40102 e4F1 ON e4F1.PT_Window_ID=e103F1.PT_Window_ID AND e4F1.Field_Number=1 AND e4F1.lnitmseq=e103F1.total
LEFT JOIN EXT00103 e103F2 ON e103F2.PT_UD_Key=h.CONTNBR AND e103F2.PT_UD_Number=2 AND e103F2.PT_Window_ID='CONTRACTINFO'
LEFT JOIN EXT40102 e4F2 ON e4F2.PT_Window_ID=e103F2.PT_Window_ID AND e4F2.Field_Number=2 AND e4F2.lnitmseq=e103F2.total
LEFT JOIN EXT00103 e103F3 ON e103F3.PT_UD_Key=h.CONTNBR AND e103F3.PT_UD_Number=3 AND e103F3.PT_Window_ID='CONTRACTINFO'
LEFT JOIN EXT40102 e4F3 ON e4F3.PT_Window_ID=e103F3.PT_Window_ID AND e4F3.Field_Number=3 AND e4F3.lnitmseq=e103F3.total
LEFT JOIN EXT00103 e103F4 ON e103F4.PT_UD_Key=h.CONTNBR AND e103F4.PT_UD_Number=4 AND e103F4.PT_Window_ID='CONTRACTINFO'
LEFT JOIN RM00301 salespoc ON salespoc.SLPRSNID = h.SLPRSNID
LEFT JOIN EXT40102 e4F4 ON e4F4.PT_Window_ID=e103F4.PT_Window_ID AND e4F4.Field_Number=4 AND e4F4.lnitmseq=e103F4.total
WHERE RTRIM(h.CONTNBR)=RTRIM(@ContractNo) 
AND (l.CONSTS=1 OR l.CONSTS=2)

GROUP BY l.CONFGREF, h.CUSTNMBR, cust.CUSTNAME, adr.ADDRESS1, adr.ADDRESS2, adr.ADDRESS3, adr.CITY, adr.STATE, adr.ZIP, adr.COUNTRY, adr.CNTCPRSN, adr.PHONE1, adr.FAX, h.CONTNBR, l.CONSTS, 
curr.CRNCYSYM, e4F1.LONGNAME, e4F2.LONGNAME, e4F3.LONGNAME, e4F4.LONGNAME, salespoc.SLPRSNFN, salespoc.SPRSNSLN, h.CONSTS, h.NOTEINDX
HAVING h.CONSTS=(SELECT MAX(CONSTS) FROM SVC00600 WHERE CONTNBR=RTRIM(@ContractNo))
ORDER BY min(l.LNSEQNBR) ASC

UPDATE r
SET Notes=ISNULL((SELECT TXTFIELD FROM SY03900 WHERE NOTEINDX=r.Noteindx),''),
LineNotes=ISNULL((SELECT TXTFIELD FROM SY03900 WHERE NOTEINDX=r.LineNoteindx),''),
Desc3='Coverage Period: '+CAST(CAST(StartDate AS DATE) AS VARCHAR(20))+' - '+CAST(CAST(EndDate AS DATE) AS VARCHAR(20))

FROM @rep r

--SELECT * FROM @rep

SELECT *, convert(int,rand()*3)+1 as rnd from @rep

END
ericpap

クエリは非常に長く複雑で、すぐに理解できますが、テーブルには29個のフィールドがあり、INSERTクエリでは21個しか設定していません。更新または挿入するフィールド名を指定しないと、SQLでは許可されません。たとえば、次のような3列のテーブルがある場合:

  • コード
  • 説明
  • 数量

これは使用できません:

INSERT INTO myTable SELECT 'myCode' as Code, 'myDesc' as Desc

Qtyフィールドが欠落しているためです。それでもなお、フィールドQtyがnull可能である場合は、次のようにすることができます。

INSERT INTO myTable(Code, Desc) SELECT 'myCode' as Code, 'myDesc' as Desc

これがお役に立てば幸いです。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

ストアドプロシージャの挿入エラー:列名または指定された値の数がテーブル定義と一致しません

分類Dev

SQL列名または指定された値の数がテーブル定義と一致しません

分類Dev

列名または指定された値の数がテーブル定義と一致しません。

分類Dev

列名または指定された値の数がテーブル定義と一致しません。デフォルト値?

分類Dev

DataTableをSQLServerに挿入/更新しますエラー:列名または指定された値の数がテーブル定義と一致しません

分類Dev

INSERT INTO SELECTは次のようになります:列名または指定された値の数がテーブル定義と一致しません

分類Dev

一時テーブル、列名、または指定された値の数がテーブル定義と一致しません

分類Dev

エラーの取得列名または指定された値の数がテーブル定義と一致しません

分類Dev

列名または指定された値の数が、SQLServerを使用したテーブル定義と一致しません

分類Dev

エラーMSG213列名または指定された値の数がテーブル定義と一致しません

分類Dev

System.Data.SqlClient.SqlException:列名または指定された値の数がテーブル定義と一致しません

分類Dev

列名または指定された値の数がテーブル定義と一致しません、合計noob

分類Dev

トリガーの作成時にエラーが発生しました:列名または指定された値の数がテーブル定義と一致しません

分類Dev

列名または指定された値の数がテーブル定義と一致しません。コードを複数回確認しました。私は何をしますか?

分類Dev

ストアード・プロシージャー・エラーEXECUTEは、BEGINステートメントとCOMMITステートメントの数が一致していないことを示しています

分類Dev

PostgreSQLプロシージャ:「指定された名前と引数の型に一致する演算子はありません」

分類Dev

Outlook 365-プロシージャ宣言が、同じ名前のイベントまたはプロシージャの説明と一致しません

分類Dev

オーバーロードされた関数のアドレスが必要なタイプと一致しません

分類Dev

「警告:[react-router]ロケーション '/ foo-bar'がどのルートにも一致しませんでした」をキャッチし、スローされた場合はページ全体をリロードします

分類Dev

bintray:ファイルをアップロードできません:pomファイルで定義されているMavenグループ、アーティファクト、またはバージョンが一致しません

分類Dev

指定されたパラメータがコールターゲットのどのシグニチャとも一致しませんクラスのインスタンス化でエラーがスローされます

分類Dev

ストアドプロシージャが挿入された値は、他のmysqlユーザーがアクセスできません

分類Dev

要素 'id'は、ネストされたクラスのエラーのフィールドまたはプロパティと一致しません

分類Dev

Postgresqlエラー指定された名前と引数のタイプに一致する関数はありません。明示的な型キャストを追加する必要があるかもしれません

分類Dev

Postgresqlエラー指定された名前と引数のタイプに一致する関数はありません。明示的な型キャストを追加する必要があるかもしれません

分類Dev

SELECTにMySQLの新しい列が追加されましたが、値が増加していません、ストアドプロシージャ

分類Dev

ngrx:指定されたパラメータがコールターゲットのどのシグネチャとも一致しません

分類Dev

Angular2:指定されたパラメータがコールターゲットのどのシグネチャとも一致しません

分類Dev

EFコアストアドプロシージャFromSqlRawは更新された値を提供しません

Related 関連記事

  1. 1

    ストアドプロシージャの挿入エラー:列名または指定された値の数がテーブル定義と一致しません

  2. 2

    SQL列名または指定された値の数がテーブル定義と一致しません

  3. 3

    列名または指定された値の数がテーブル定義と一致しません。

  4. 4

    列名または指定された値の数がテーブル定義と一致しません。デフォルト値?

  5. 5

    DataTableをSQLServerに挿入/更新しますエラー:列名または指定された値の数がテーブル定義と一致しません

  6. 6

    INSERT INTO SELECTは次のようになります:列名または指定された値の数がテーブル定義と一致しません

  7. 7

    一時テーブル、列名、または指定された値の数がテーブル定義と一致しません

  8. 8

    エラーの取得列名または指定された値の数がテーブル定義と一致しません

  9. 9

    列名または指定された値の数が、SQLServerを使用したテーブル定義と一致しません

  10. 10

    エラーMSG213列名または指定された値の数がテーブル定義と一致しません

  11. 11

    System.Data.SqlClient.SqlException:列名または指定された値の数がテーブル定義と一致しません

  12. 12

    列名または指定された値の数がテーブル定義と一致しません、合計noob

  13. 13

    トリガーの作成時にエラーが発生しました:列名または指定された値の数がテーブル定義と一致しません

  14. 14

    列名または指定された値の数がテーブル定義と一致しません。コードを複数回確認しました。私は何をしますか?

  15. 15

    ストアード・プロシージャー・エラーEXECUTEは、BEGINステートメントとCOMMITステートメントの数が一致していないことを示しています

  16. 16

    PostgreSQLプロシージャ:「指定された名前と引数の型に一致する演算子はありません」

  17. 17

    Outlook 365-プロシージャ宣言が、同じ名前のイベントまたはプロシージャの説明と一致しません

  18. 18

    オーバーロードされた関数のアドレスが必要なタイプと一致しません

  19. 19

    「警告:[react-router]ロケーション '/ foo-bar'がどのルートにも一致しませんでした」をキャッチし、スローされた場合はページ全体をリロードします

  20. 20

    bintray:ファイルをアップロードできません:pomファイルで定義されているMavenグループ、アーティファクト、またはバージョンが一致しません

  21. 21

    指定されたパラメータがコールターゲットのどのシグニチャとも一致しませんクラスのインスタンス化でエラーがスローされます

  22. 22

    ストアドプロシージャが挿入された値は、他のmysqlユーザーがアクセスできません

  23. 23

    要素 'id'は、ネストされたクラスのエラーのフィールドまたはプロパティと一致しません

  24. 24

    Postgresqlエラー指定された名前と引数のタイプに一致する関数はありません。明示的な型キャストを追加する必要があるかもしれません

  25. 25

    Postgresqlエラー指定された名前と引数のタイプに一致する関数はありません。明示的な型キャストを追加する必要があるかもしれません

  26. 26

    SELECTにMySQLの新しい列が追加されましたが、値が増加していません、ストアドプロシージャ

  27. 27

    ngrx:指定されたパラメータがコールターゲットのどのシグネチャとも一致しません

  28. 28

    Angular2:指定されたパラメータがコールターゲットのどのシグネチャとも一致しません

  29. 29

    EFコアストアドプロシージャFromSqlRawは更新された値を提供しません

ホットタグ

アーカイブ