Stored procedures — evaluate the benefit statement: “One benefit of using a stored procedure is that it can be distributed to client computers.” Determine whether this is correct or incorrect, considering where stored procedures execute.
-
ACorrect
-
BIncorrect
-
CCorrect only for two-tier architectures
-
DCorrect if clients cache execution plans
-
EUnknown without network latency data
Answer
Correct Answer: Incorrect
Explanation
Introduction / Context: Stored procedures encapsulate SQL logic on the database server. They improve performance, security, and maintainability by centralizing code and reducing chattiness between client and server. The prompt suggests that a benefit is the ability to distribute procedures to clients, which tests understanding of where stored procedures live and execute.
Given Data / Assumptions:
- Stored procedures are database objects compiled and stored on the server.
- Clients invoke procedures with CALL/EXEC or equivalent.
- Client applications might have local code, but server-side procedures remain server-resident.
Concept / Approach: The principal advantages of stored procedures include centralized logic, reduced network round-trips (one call versus many statements), shared security context, plan reuse, and version control on the server. Distribution to clients is not a benefit; in fact, one reason to use procedures is to avoid scattering SQL across clients. Client distribution applies to application binaries or libraries, not to stored procedures themselves.
Step-by-Step Solution:
Identify where procedures are stored: on the server catalog.Identify how they are executed: by the server process, not client runtime.Assess the claimed benefit: contradicts centralization and server execution.Conclude the statement is incorrect.Verification / Alternative check: Deploy a procedure and update it centrally; all clients pick up changes immediately without redistribution—evidence that procedures are not distributed to clients for execution.
Why Other Options Are Wrong:
- Architecture tiering does not relocate procedures to clients.
- Client-side plan caches do not equate to distributing procedures.
- Network characteristics do not change where procedures reside.
Common Pitfalls: Confusing ORMs or embedded SQL libraries with stored procedures; assuming code distribution models apply to server-resident database logic.
Final Answer: Incorrect