Thông thường bạn cho phép quyền sử dụng câu lệnh SQL (chọn, tạo, thay đổi, xóa, giảm, chỉ số, chèn, và cập nhật). Phần thứ hai của báo cáo cấp (trên lưu bút trong ví dụ) xác định các đặc quyền này được áp dụng: phổ quát, để một cơ sở dữ liệu duy nhất, để bàn, hoặc để cột. Bảng E-1 cho thấy làm thế nào để chỉ ra đặc quyền | 684 Part V Appendixes quoted-string qtext quoted-pair Regular qtext or quoted chars. qtext any CHAR excepting may be folded CR and including linear-white-space domain-literal dtext quoted-pair dtext any CHAR excluding may be folded CR including linear-white-space comment ctext quoted-pair comment ctext any CHAR excluding may be folded CR including linear-white-space quoted-pair CHAR may quote any char phrase 1 word Sequence of words word atom quoted-string mailbox addr-spec simple address phrase route-addr name addr-spec route-addr route addr-spec route 1 @ domain path-relative addr-spec local-part @ domain global address validate_email insight @ function print_validate_email eaddr result validate_email eaddr is valid is not valid print h4 email address .htmlspecialchars eaddr . result h4 n function validate_email eaddr Appendix H Helpful User-Defined Functions 685 if empty eaddr print eaddr is not valid n return false laddr laddr eaddr if the addr-spec is in a route-addr strip away the phrase and s laddr preg_replace A. laddr laddr preg_replace . laddr if preg_match A @. laddr path-relative domain list domain addr_spec preg_split laddr domain preg_replace A @ domain if is_domain domain return false laddr addr_spec return is_addr_spec laddr function is_addr_spec eaddr list local_part domain preg_split @ eaddr if is_local_part local_part is_domain domain print eaddr is not valid n return false else print eaddr is valid n return true local-part word . word uninterpreted function is_local_part local_part if empty local_part return false bit_array preg_split . local_part 686 Part V Appendixes while list bit each bit_array if is_word bit return false return true word atom quoted-string quoted-string qtext quoted-pair Regular qtext or quoted chars. qtext any CHAR excepting may be folded CR and including linear-white-space quoted-pair CHAR may quote any char function is_word word if preg_match A . i word return is_quoted_string word return is_atom word .