user2380064
user2380064

Reputation: 27

SQL Error - The identifier that starts with..........is too long. Maximum lenght is 128

Below is my SQL query which is returning back error message

The identifier that starts with 'CASE WHEN PX_PAXWEB.COUNTRY = 'AUT' THEN >vw_POSTCODE.POSTCODE WHEN PX_PAXWEB.COUNTRTY <> 'AUT' THEN vwPxPaxWe'
is too long. Maximum length is 128.

Msg 103, Level 15, State 4, Procedure vwRBARpt_AJ, Line 168
The identifier that starts with 'CASE WHEN AG_AGENTS.SALES_AREA_DESC = 'Int. – Inbound >Then vwPxPaxweb.SALES_AREA' is too long. Maximum length is 128."

Here's the SQL query:

CASE 
   WHEN AG_AGENTS.SALES_AREA_DESC = 'Dom. - NAT' 
     THEN [CASE 
              WHEN PX_PAXWEB.COUNTRY = 'AUT' THEN vw_POSTCODE.POSTCODE
              WHEN PX_PAXWEB.COUNTRTY <> 'AUT' THEN vwPxPaxWeb.SALES_AREA
              ELSE COALESCE (vw_POSTCODE.POSTCODE, vwPxPaxWeb.SALES_AREA, AG_AGENTS.SALES_AREA_DESC) ]
   ELSE 
      [CASE WHEN AG_AGENTS.SALES_AREA_DESC = Int. – Inbound 
              THEN vwPxPaxweb.SALES_AREA
              ELSE COALESCE(vwPxPaxweb.SALES_AREA, AG_AGENTS.SALES_AREA_DESC)]
END AS SALES_AREA_DESC_2

Upvotes: 1

Views: 6596

Answers (2)

Rahul
Rahul

Reputation: 77926

Try doing it like below. Use () to separate the CASE. [] is used for identifires; like if you are using reserve word as column names or if your column names have spaces in it then to delimit them.

CASE WHEN AG_AGENTS.SALES_AREA_DESC = 'Dom. - NAT' THEN 
(CASE WHEN PX_PAXWEB.COUNTRY = 'AUT' THEN vw_POSTCODE.POSTCODE

 WHEN PX_PAXWEB.COUNTRTY <> 'AUT' THEN vwPxPaxWeb.SALES_AREA

ELSE COALESCE (vw_POSTCODE.POSTCODE,vwPxPaxWeb.SALES_AREA,AG_AGENTS.SALES_AREA_DESC) 
)

ELSE 
(CASE WHEN AG_AGENTS.SALES_AREA_DESC = 'Int. – Inbound' Then vwPxPaxweb.SALES_AREA

ELSE COALESCE( vwPxPaxweb.SALES_AREA,AG_AGENTS.SALES_AREA_DESC)
)
END AS SALES_AREA_DESC_2

Upvotes: 1

Matthew Haugen
Matthew Haugen

Reputation: 13296

It took me formatting your code to realize it, but you need parentheses and not square brackets surrounding your cases. As you have it, it's trying to find a column/table/whatever that's named "[...your code...]", which is certainly too long.

Upvotes: 1

Related Questions