BookmarkSubscribeRSS Feed
AndrewHowell
Moderator

Thought I was ok with pass-thru SQL, but trying to understand:

  • The WEEKDAYCD='' WITH UR clause? (Presumably some DB2-specific syntax I haven't seen before)
  • What the X(DT) does? (Is this passed-through, so DB2-specific? Or a SAS function? Is it an SQL variant of the 'X' command?)

Thanks.

PROC SQL;
  CONNECT TO DB2(SSID=DSN);
  CREATE TABLE MYWORK AS SELECT * FROM CONNECTION TO DB2
    (SELECT MAX(BIRTH_DT)
      FROM CUST.CALENDAR
      WHERE BIRTH_DT < CURRENT DATE
      AND WEEKDAYCD='' WITH UR)X(DT); 
DISCONNECT FROM DB2;
QUIT;
1 REPLY 1
Patrick
Opal | Level 21

The code portion within the connect to is DB2 syntax and you will need to consult DB2 documentation and forums with detail questions.

Patrick_0-1677044206797.png

It's long ago that I've used DB2. 

WITH UR is for Uncommited Read (dirty reading). It's the fastest way to read data in DB2 because it doesn't control and synchronize with any update, insert or delete that might happen at the same time. Using UR is very o.k. if that's some reporting data base where you can be sure that the updates happen at a time where your queries won't run.

 

This bit looks "suspicious"  Patrick_1-1677044520397.png 

but then eventually totally o.k. with DB2 SQL.

hackathon24-white-horiz.png

The 2025 SAS Hackathon Kicks Off on June 11!

Watch the live Hackathon Kickoff to get all the essential information about the SAS Hackathon—including how to join, how to participate, and expert tips for success.

YouTube LinkedIn

What is Bayesian Analysis?

Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 1 reply
  • 516 views
  • 0 likes
  • 2 in conversation