Search code examples
snowflake-cloud-data-platformksh

Is there a sleep, pause, timeout or wait command for SnowSQL?


I have a linux script that runs SnowSQL where two files are created and placed in a particular folder. Due to a downstream process, there needs to be a delay between the time the first and second files are placed in the folder. (I prefer not to use two separate ksh scripts.)

This creates/places both files in the destination folder at the same time:

get ${outFileNm} file://${inDir}/;

get ${outFileNm2} file://${inDir}/;

====================

If SnowSQL supports something like this, I believe the command would be placed here in bold:

get ${outFileNm} file://${inDir}/;

<enter sleep/pause/timeout/wait command here>

get ${outFileNm2} file://${inDir}/;


Solution

  • Figured it out! Even though the command was within SnowSQL, the ksh script was trying to treat $wait as a Linux variable. By adding a backslash in front of $wait, we are telling the script to treat $ as a literal $ sign. This works:

    get ${outFileNm} file://${inDir}/;

    call system\$wait(60);
    

    get ${outFileNm2} file://${inDir}/;

    Thanks to all who commented.