Standards question: Is the SQL-92 standard command to rename a table literally RENAME TABLE, or is table renaming vendor-specific (for example, ALTER TABLE ... RENAME TO)?

Difficulty: Easy

Correct Answer: Incorrect

Explanation:

Introduction / Context:Renaming tables is a common maintenance task. However, SQL standards and vendors differ in syntax and capabilities, which can cause portability issues in migration scripts.

Given Data / Assumptions:

  • SQL-92 does not define a universal RENAME TABLE statement.
  • Vendors use different syntaxes: many support ALTER TABLE old_name RENAME TO new_name; MySQL supports RENAME TABLE.
  • Constraints, dependencies, and privileges can be affected by renames.

Concept / Approach:Because the standard does not mandate RENAME TABLE, portability requires conditional logic or abstractions. Use vendor-specific DDL in deployment tooling and verify effects on foreign keys, triggers, views, and stored procedures.

Step-by-Step Solution:Check the target DBMS documentation for supported rename syntax.Assess dependent objects (FKs, views, procs) and regenerate as needed.Apply the vendor-appropriate rename DDL in a transaction if supported.Run dependency checks to catch broken references.Update permissions and metadata if required.

Verification / Alternative check:Attempt the standard-looking RENAME TABLE on multiple engines; observe that only some (e.g., MySQL) accept it, while others require different syntax.

Why Other Options Are Wrong:The statement is not correct in SQL-92; FK presence is unrelated to whether the syntax exists.

Common Pitfalls:Assuming portability; forgetting to refresh dependent views or stored code after renames.

Final Answer:Incorrect

Discussion & Comments

No comments yet. Be the first to comment!
Join Discussion