古いクエリを再実行しようとしていて、行サイズの問題が発生しています。いくつかの回避策を取った後、必要なテーブルに2つの値を追加しました。最後の2つのフィールドを追加しようとするたびに、「これは最大行長が長くなりすぎます」という形になります(まっすぐクエリを実行しているかどうか、またはCREATE VOLATILE TABLE
...などクエリ。Teradata volatileテーブルの設定フィールドが大きすぎます
データが最大行長を超えなければならないことを除いて(2016年2月にこのスクリプトが正常に実行されたときとまったく同じデータを引き出す必要があります)私が問題を引き起こしているのは、HELP TABLE
を実行したときに2つの電話番号フィールドとアドレスタイプを保持するフィールドの最大長が16000であることです。電話番号はすべて10文字です(予想どおり)、アドレスの種類はたかだか4文字です。
だから、私はとの助けを探していますは、次のとおりです。
-
行の長さが長すぎるさておき、私はそれは同じである必要があります言ったようにそこに行の長さが実際に(長すぎるからであることについて、エラーをスローするのTeradataを引き起こす何
- データとスクリプトは以前に働いていたので、私は何かがサーバー上でちょうどガークされていないと確信していません)
- 3つのフィールドの最大長は有望な候補ですか?もしそうなら、どのように私はそれらを小さくするように強制するのですか(再び、何も返さない値に
LENGTH
を実行すると、> 10となり、16000の15990が無駄になります)?そして、なぜこのフィールドでは、前回よりフィールドが大きくなるでしょうか? - 最大長が問題でない場合は、問題の診断に何が役立ちますか?参考のため
、私は立ち往生していたスクリプトの部分は、私はこの質問は幅広い側にある知っているが、Googleは他の有用なもの&を上げられていない
CREATE MULTISET VOLATILE TABLE
--DROP TABLE
PCP_DATA_2
AS (
SELECT DISTINCT
PA.Prov_Nbr
, PA.NPI
, OREPLACE(UPPER(TRIM(SDA_MAP.State_Defined_SDA)), ' TEXAS', '') AS SDA
, PA."First/Inst Name"
, PA.Last_Name
, PA.Degree
, PA.Spec_Code
, PA.Spec_Desc
, PA.Hat_Code
, PA.Hat_Desc
, PA.Group_Nbr
, PA.Group_Name
, PA.Address1
, PA.Address2
, PA.City
, PA.State
, PA.Zip
, UPPER(TRIM(SDA_MAP.STD_County_Name)) AS County
, PA.Primary_Phone_Nbr
, PA.Secondary_Phone_Nbr
, PA.Address_Type
, PA.Affstat_Code
, PA.AfterHrs
, PA.Affiliation_ID
FROM
PCP_DATA AS PA
LEFT JOIN V_REF_MD_CITY_COUNTY_SDA_CRSWK AS SDA_MAP
ON PA.Zip = SDA_MAP.USPS_ZipCode
)
WITH DATA PRIMARY INDEX (Prov_Nbr)
ON COMMIT PRESERVE ROWS;
を下回っています私のグループのアナリストは、私と同じように困惑しています。