COF-C03 Data Loading, Unloading, and Connectivity Practice Question
A data engineer has a CSV file on their local machine and wants to load it into a Snowflake table. They do not have access to an external cloud storage bucket and want the simplest path that does not require creating a named internal stage. Which command should they use?
⚠ Common exam trap
The trap here is believing COPY INTO can read a local file path directly, when local files must always be staged with PUT first.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
PUT file:///tmp/data.csv @%my_table; then COPY INTO my_table FROM @%my_table
Every table has an implicit table stage accessible as @%table_name, which requires no manual creation. Uploading the local file with PUT to the table stage and then running COPY INTO from that stage is the simplest way to load a single local CSV without provisioning a named internal stage. This satisfies the no-named-stage constraint directly.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
COPY INTO my_table FROM 'file:///tmp/data.csv'
Why it's wrong here
COPY INTO cannot read directly from a local filesystem path. The FROM clause must reference a stage, an external location, or a table, not a file:// URI. Snowflake has no access to the client's local disk, so this statement would error out. Local files must first be uploaded with PUT to a stage before COPY INTO can read them.
- ✗
PUT file:///tmp/data.csv @my_table
Why it's wrong here
The PUT command uploads a local file to a stage, but its target must be a stage, not a table. Using @my_table as the target is invalid syntax and would fail. Even if corrected to a stage, PUT alone does not load data into the table; a separate COPY INTO is required to move the staged file into the table.
- ✗
COPY INTO my_table FROM @my_named_stage
Why it's wrong here
This command references a named internal stage, which the engineer explicitly wants to avoid creating. While it would work if the stage already existed and the file had been PUT to it, it does not match the requirement of the simplest path without a named stage. It also omits the file format and the actual file upload step.
- ✓
PUT file:///tmp/data.csv @%my_table; then COPY INTO my_table FROM @%my_table
Why this is correct
The table stage @%my_table is created automatically with the table, so no named stage is needed. PUT uploads the local CSV to that table stage, and COPY INTO reads it into the table. This two-step sequence is the standard simplest path for loading a local file without creating a separate named internal stage.
About these practice questions
This COF-C03 question is part of Courseiva's 280-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →
JA
Written and reviewed by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
Last reviewed September 2026 · checked against the official Snowflake exam blueprint
This COF-C03 practice question is part of Courseiva's free Snowflake certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the COF-C03 exam.