Problem Note 41911: Making a calculated reference to a nonexistent column in an SQL procedure can cause a Read Access Violation or Segmentation Violation to occur
Read Access Violations or Segmentation Violations might occur in PROC SQL when you make a calculated reference to a nonexistent column.
The problem occurs when the SELECT statement selects more than 16 columns and the expression containing the calculated reference is the last expression before the FROM clause. This situation prevents the actual error message(s) from being written to the SAS log, which should be as follows:
ERROR: The following columns were not found as CALCULATED references in the immediate query: column_name.
To work around this issue, move the calculated reference to the beginning or to another location so that it is not the last reference.
Click the Full Code tab to see an example that generates a Read Access Violation.
A fix for this issue is planned for a future software release.
Operating System and Release Information
| SAS System | Base SAS | z/OS | 9.1 TS1M3 SP4 | |
| Microsoft® Windows® for 64-Bit Itanium-based Systems | 9.1 TS1M3 SP4 | |
| Microsoft Windows Server 2003 Datacenter 64-bit Edition | 9.1 TS1M3 SP4 | |
| Microsoft Windows Server 2003 Enterprise 64-bit Edition | 9.1 TS1M3 SP4 | |
| Microsoft Windows XP 64-bit Edition | 9.1 TS1M3 SP4 | |
| Microsoft Windows 2000 Advanced Server | 9.1 TS1M3 SP4 | |
| Microsoft Windows 2000 Datacenter Server | 9.1 TS1M3 SP4 | |
| Microsoft Windows 2000 Server | 9.1 TS1M3 SP4 | |
| Microsoft Windows 2000 Professional | 9.1 TS1M3 SP4 | |
| Microsoft Windows NT Workstation | 9.1 TS1M3 SP4 | |
| Microsoft Windows Server 2003 Datacenter Edition | 9.1 TS1M3 SP4 | |
| Microsoft Windows Server 2003 Enterprise Edition | 9.1 TS1M3 SP4 | |
| Microsoft Windows Server 2003 Standard Edition | 9.1 TS1M3 SP4 | |
| Microsoft Windows XP Professional | 9.1 TS1M3 SP4 | |
| Windows Vista | 9.1 TS1M3 SP4 | |
| Windows Vista for x64 | 9.1 TS1M3 SP4 | |
| 64-bit Enabled AIX | 9.1 TS1M3 SP4 | |
| 64-bit Enabled HP-UX | 9.1 TS1M3 SP4 | |
| 64-bit Enabled Solaris | 9.1 TS1M3 SP4 | |
| HP-UX IPF | 9.1 TS1M3 SP4 | |
| Linux | 9.1 TS1M3 SP4 | |
| Linux on Itanium | 9.1 TS1M3 SP4 | |
| OpenVMS Alpha | 9.1 TS1M3 SP4 | |
| Solaris for x64 | 9.1 TS1M3 SP4 | |
| Tru64 UNIX | 9.1 TS1M3 SP4 | |
*
For software releases that are not yet generally available, the Fixed
Release is the software release in which the problem is planned to be
fixed.
The following code generates Read Access Violations or Segmentation Violations.
data one;
retain v1-v16 0;
run;
proc sql;
select
v1
,v2
,v3
,v4
,v5
,v6
,v7
,v8
,v9
,v10
,v11
,v12
,v13
,v14
,v15
,v16 as new_v16
, coalesce(1, calculated new_v16) as New_V17
from one;
quit;
| Type: | Problem Note |
| Priority: | medium |
| Date Modified: | 2011-02-03 16:42:38 |
| Date Created: | 2010-12-17 14:49:41 |