sql >> Database teknologi >  >> RDS >> Sqlserver

SQL:Fejl, grænse for udtrykstjenester nået?

Dette problem opstår, fordi SQL Server begrænser antallet af identifikatorer og konstanter, der kan være indeholdt i et enkelt udtryk for en forespørgsel. Grænsen er 65.535. Testen for antallet af identifikatorer og konstanter udføres efter SQL Server udvider alle refererede identifikatorer og konstanter. I SQL Server 2005 og nyere er forespørgsler internt normaliseret og forenklet. Og det inkluderer *(stjerne), beregnede kolonner osv.

For at løse dette problem skal du omskrive din forespørgsel. Referer til færre identifikatorer og konstanter i det største udtryk i forespørgslen. Du skal sikre dig, at antallet af identifikatorer og konstanter i hvert udtryk i forespørgslen ikke overstiger grænsen. For at gøre dette skal du muligvis opdele en forespørgsel i mere end én enkelt forespørgsel. Opret derefter et midlertidigt mellemresultat.



  1. statement.execute() returnerer fejl med skråstreg i slutningen af ​​PL/SQL

  2. hvordan opdaterer man et eller flere felter og ignorerer de tomme felter i mysql-databasen?

  3. hvordan man emulerer insert ignore og på duplikatnøgleopdatering (sql merge) med postgresql?

  4. Sådan får du optegnelser fra de sidste 30 dage