SQL Server EXECUTE AS
SQL Server EXECUTE AS is a SQL statement in the SQL Server Specific category. SQL Server: impersonates another user or login to test permissions or execute code with different rights. The syntax is EXECUTE AS USER = 'user_name'; REVERT;. It returns impersonated context. A typical example: EXECUTE AS USER = 'readonly_user'; SELECT * FROM employees; -- Runs as readonly_user -- If readonly_user cannot access certain columns, error occurs REVERT; -- Back to original user -- Permanent context (module signing): CREATE PROCEDURE GetSalaries WITH EXECUTE AS OWNER AS SELECT name, salary FROM employees; -- Runs with owner permissions regardless of caller -- Useful for controlled access to sensitive data A close relative is OUTPUT Clause, which sQL Server: returns values from DML statements (like PostgreSQL RETURNING). A close relative is STUFF(), which sQL Server: deletes a specified length of characters from a string and inserts another string at the start position.