SELECT * - SQL Server to Oracle Migration

In SQL Server, you can use SELECT * with other columns or expressions without specifying the table name or alias.

Oracle requires that the table name or an alias are specified for * if it is used with other columns or expressions.

SQL Server:

  -- Standalone * 
  SELECT * FROM colors;
  /* Ok */
 
  -- With other columns without alias
  SELECT *, name FROM colors;
  /* Ok */

Oracle:

  -- Standalone * does not require alias
  SELECT * FROM colors;
  /* Ok */
 
  -- With other columns without alias
  SELECT *, name FROM colors;
  /* ERROR at line 1: ORA-00923: FROM keyword not found where expected */
 
  -- Adding an alias
  SELECT c.*, name FROM colors c;
  /* Ok */

For more information, see SQL Server to Oracle Migration.