Question: ```
fun birthdayGreeting(name: String): String {
val nameGreeting = "Happy Birthday, $name!"
val ageGreeting = "You are now 5 years old!"
return "$nameGreeting\n$ageGreeting"
}

No main method found in project.

```

Can someone explain how to solve this, I've just started taking this code labs. thanx in advance.

Answer: 
It is possible to define column list definition when using CTAS:

Sample data:

```
CREATE TABLE bank_raw(id INT, col TEXT);
INSERT INTO bank_raw(id, col) VALUES (1, 'a'), (2,'b');

```

Query:

```
CREATE OR REPLACE TABLE bank_raw(id INT,
                                col TEXT,
                                created_at datetime default current_timestamp())
AS
SELECT 
  id, col, CURRENT_TIMESTAMP()
FROM bank_raw;

```

Output:

```
SELECT * FROM bank_raw;

DESCRIBE TABLE bank_raw;

```

[![enter image description here](https://i.stack.imgur.com/Z9jbV.png)](https://i.stack.imgur.com/Z9jbV.png)

[![enter image description here](https://i.stack.imgur.com/S0mEA.png)](https://i.stack.imgur.com/S0mEA.png)
Since this is a DML operation not a DDL operation, the default keyword does not apply. You can simply remove it and instead project the column and name it:

```
create or replace table bank_raw as 
select 
    *,
    current_timestamp() as created_at
from bank_raw;

```

Edit: To enforce a default, you cannot alter a table to add a column with a default value except for sequences. So you'd need to do something like this:

```
select get_ddl('table','BLANK_RAW');

-- Copy and paste the DDL. Rename the new table,
-- and add the default timestamp:
create or replace table A 
(
    -- Existing columns here then:
    created_at timestamp default current_timestamp
);

```

You can then do an insert from a select on the table BLANK\_RAW. You'll need to specify a column list and omit the CREATED\_AT column.