4# tj0412ymy
抱歉,我更正一下,这题应该是B。
view只是个definition,就像sql一样,试图就是个子查询,sas的view存的也是个逻辑描述,因此只有被调用的时候,才会去执行它的定义描述。
所以选B,就是只有当这个视图被其他sas step调用的时候,才会生成。
关于C选项,再思考一下会发现,你执行这段data step确实不会出错,因为它只是生成定义这个视图,并不会去执行这个视图,而这个视图只有被调用的时候,才会去执行它包含的意义——生成数据集。但如果假设filename不存在,这个视图被调用时,确实会报错,数据集也不会生成,但关键在于这个错误并不是syntax error,而是个execution error。
你可以再试验一下,执行题干中的data step之后,直接把生成的temp view双击打开:
如果你之前定义了rawdata,那么work.errors就会创建。
如果你之前没定义rawdata,那么就会出错,且work.errors不会创建,错误也非
语法错误。
如果你之前定义的rawdata不存在,那么也会出错,但work.errors会创建,不过为空的dataset。