2016-05-25 2 views
1

その作業偉大せずに、私は、このストアドプロシージャを持っているが、その次のようにWICH:SQL Server 2008の私のストアドプロシージャJOBで実行されたときにそのが失敗しますが、

私は、コマンドライン EXEC [で実行
ALTER PROCEDURE [dbo].[P_ALIMENTATION_VolumeVentes] 
AS 
BEGIN 

    SELECT EDS, NomEDS,AgenceEDS, AgenceNomEDS,SecteurEDS, SecteurNomEDS,DirectionEDS,DirectionNomEDS, 
      (SELECT count(*) FROM CPListeVentesNonConformes WHERE CPListeVentesNonConformes.EDS = CPRT.EDS AND TypePart='PP') AS ListeVenteNC_PP, 
      (SELECT count(*) FROM CEListeVentesNonConformes WHERE CEListeVentesNonConformes.EDS = CPRT.EDS AND TypePart='ET') AS ListeVenteNC_ET, 
      (SELECT count(*) FROM CPListeVentesNonConformes WHERE CPListeVentesNonConformes.EDS = CPRT.EDS AND TypePart='PP' OR TypePart='ET') AS ListeVenteNC_PPET, 
      (SELECT count(*) FROM ListeVentes WHERE IDES01 = CPRT.EDS AND TypePart='PP') AS ListeVentes 
    INTO VolumeVentes 
    FROM CPR CPRT 
    GROUP BY EDS, NomEDS,AgenceEDS, AgenceNomEDS,SecteurEDS, SecteurNomEDS,DirectionEDS,DirectionNomEDS,TypePart 

END 

dbo]。[P_ALIMENTATION_VolumeVentes] そのスーパー超偉大な私のテーブルが作成されます。

しかし、私はこのエラーを持っている素敵な驚きを持っているジョブをスケジュールするためにSQL Agentを使用:ZRES \ CSAPREP10IUCRADM:ユーザーとして実行

。 varchar データ型をdatetimeデータ型に変換すると、範囲外の値が発生しました。 [SQLSTATE 22007](エラー242)ステートメントが終了しました。 [SQLSTATE 01000](エラー3621)。ステップは失敗しました。

VolumetVentesはここ日時などのタイプと何のフィールド

を持っていない作成される構造テーブルは、エラーがある場所を正確に私は理解していないVolumeVentes

テーブルの構造であり、 ?

は、すでにVolumeVenteテーブルを持っているので、実際にそれが動作することはありません助け

+0

をあなたは仕事を確認することができますEXEC [dbo]。[P_ALIMENTATION_VolumeVentes] ' –

+0

テーブルCPR、CPListeVentesNonConformes、CEListeVentesNonConformes、ListeVentesのテーブル定義を提供できますか? –

+0

ジョブをスクリプト化して失敗しているジョブステップを投稿できますか?仕事がこのストアドプロシージャを実行する以外の何かをしているように思えます。 – strickt01

答えて

2

いただきありがとうございます。

SELECT INTOhttps://msdn.microsoft.com/en-us/library/ms188029(v=sql.120).aspx

あなたはINSERT SELECTになるために、このコードを変更する必要がありselect文で説明したカラムを持つ新しいテーブルを作成します。

しかし、(私は推測する)列の順序がselect文で正しくなく、既存の表の列の順序と一致しないため、おそらく同じ変換エラーが発生します。あなたは常に明示的INSERT INTO句で列リストを定義する必要がある理由があり、最終的なスクリプトは次のようになります。

INSERT INTO VolumeVentes(EDS, NomEDS,AgenceEDS, AgenceNomEDS,SecteurEDS, ...) 
SELECT EDS, NomEDS,AgenceEDS, AgenceNomEDS,SecteurEDS 
FROM ... 
0

使用

INSERT INTO... Statement 

代わりの

SELECT INTO FROM... Statement 
関連する問題