You can specify the holdlock, noholdlock, and shared options for each table in a select or readtext statement, with the at isolation clause applied to the entire query.
select select_list
from table_name [holdlock | noholdlock] [shared]
[, table_name [[holdlock | noholdlock] [shared]
{where/group by/order by/compute clauses}
[at isolation {
[read uncommitted | 0] |
[read committed | 1] |
[repeatable read | 2]|
[serializable | 3]]
Here is the syntax for the readtext command:
readtext [[database.]owner.]table_name.column_name text_pointer offset size
[holdlock | noholdlock] [readpast]
[using {bytes | chars | characters}]
[at isolation {
[read uncommitted | 0] |
[read committed | 1] |
[repeatable read | 2]|
[serializable | 3]}]