It is definitely easier to force single selections for prompts used in SAS Stored Processes, however it isn't very usable when the majority of users need to select multiple values. For example, let us say we create a prompt for region (called 'region_prompt') and then use that in the query of sashelp.shoes.
Forcing only 1 selection to write to the macro ®ion;_prompt the resulting SQL query would look like:
proc sql; create table test as select * from sashelp.shoes where shoes.region="®ion_prompt"; quit;
Pretty simple really.
Now if we allow users to select 1 or more values for region, SAS creates a macro with the same name but adding the term _Count. Such as ®ion_prompt_count, this represents the amount of selections the user chose. Therefore the SQL query needs to take all of these selections into account. ALSO - if only 1 selection is chosen, there is no ®ion_prompt1 - so you must account for that as well.
Here is an example:
proc sql; create table test as select * from sashelp.shoes where shoes.region in ( %if ®ION_PROMPT_COUNT = 1 %then "&Region_Prompt"; %else %do i=1 %to ®ION_PROMPT_COUNT; "&&Region_Prompt&i" %end; ); quit;
Reference: Overview of Input Parameters http://support.sas.com/documentation/cdl/en/stpug/61271/HTML/default/a003152642.htm