DEFINE PARAM
statementThe DEFINE PARAM
statement allows you to define global (database-wide) parameters that are available to every client.
DEFINE PARAM
statement.DEFINE PARAM
statement.
SurrealQL SyntaxDEFINE PARAM [ OVERWRITE | IF NOT EXISTS ] $@name VALUE @value [ COMMENT @string ] [ PERMISSIONS [ NONE | FULL | WHERE @condition ] ]
Below shows how you can create a parameter using the DEFINE PARAM
statement.
DEFINE PARAM $endpointBase VALUE "https://dummyjson.com";
Then, simply use the global parameter like you would with any variable.
RETURN http::get($endpointBase + "/products");
IF NOT EXISTS
clauseAvailable since: v1.3.0
The IF NOT EXISTS
clause can be used to define a param only if it does not already exist. You should use the IF NOT EXISTS
clause when defining a param in SurrealDB if you want to ensure that the param is only created if it does not already exist. If the param already exists, the DEFINE PARAM
statement will return an error.
It’s particularly useful when you want to safely attempt to define a param without manually checking its existence first.
On the other hand, you should not use the IF NOT EXISTS
clause when you want to ensure that the param definition is updated regardless of whether it already exists. In such cases, you might prefer using the OVERWRITE
clause, which allows you to define a param and overwrite an existing one if it already exists, ensuring that the latest version of the param definition is always in use
-- Create a PARAM if it does not already exist DEFINE PARAM IF NOT EXISTS $example VALUE 123;
OVERWRITE
clauseAvailable since: v2.0.0
The OVERWRITE
clause can be used to define a param and overwrite an existing one if it already exists. You should use the OVERWRITE
clause when you want to modify an existing param definition. If the param already exists, the DEFINE PARAM
statement will overwrite the existing param definition with the new one.
-- Create an PARAM and overwrite if it already exists DEFINE PARAM OVERWRITE $example VALUE 123;