pub struct CreateProcedureStatement { /* private fields */ }Expand description
CREATE PROCEDURE statement builder
This struct provides a fluent API for constructing CREATE PROCEDURE queries.
§Examples
use reinhardt_query::prelude::*;
use reinhardt_query::types::function::{FunctionLanguage, FunctionBehavior};
// CREATE PROCEDURE my_proc() LANGUAGE SQL AS 'SELECT 1'
let query = Query::create_procedure()
.name("my_proc")
.language(FunctionLanguage::Sql)
.body("SELECT 1");
// CREATE OR REPLACE PROCEDURE my_proc(a integer)
// LANGUAGE PLPGSQL IMMUTABLE AS 'BEGIN INSERT INTO log VALUES (a); END;'
let query = Query::create_procedure()
.name("my_proc")
.or_replace()
.add_parameter("a", "integer")
.language(FunctionLanguage::PlPgSql)
.behavior(FunctionBehavior::Immutable)
.body("BEGIN INSERT INTO log VALUES (a); END;");Implementations§
Source§impl CreateProcedureStatement
impl CreateProcedureStatement
Sourcepub fn new() -> Self
pub fn new() -> Self
Create a new CREATE PROCEDURE statement
§Examples
use reinhardt_query::prelude::*;
let query = Query::create_procedure();Sourcepub fn take(&mut self) -> Self
pub fn take(&mut self) -> Self
Take the ownership of data in the current CreateProcedureStatement
Sourcepub fn name<N>(&mut self, name: N) -> &mut Selfwhere
N: IntoIden,
pub fn name<N>(&mut self, name: N) -> &mut Selfwhere
N: IntoIden,
Set the procedure name
§Examples
use reinhardt_query::prelude::*;
let query = Query::create_procedure()
.name("my_proc");Sourcepub fn or_replace(&mut self) -> &mut Self
pub fn or_replace(&mut self) -> &mut Self
Add OR REPLACE clause
§Examples
use reinhardt_query::prelude::*;
let query = Query::create_procedure()
.name("my_proc")
.or_replace();Sourcepub fn add_parameter<N: IntoIden, T: Into<String>>(
&mut self,
name: N,
param_type: T,
) -> &mut Self
pub fn add_parameter<N: IntoIden, T: Into<String>>( &mut self, name: N, param_type: T, ) -> &mut Self
Add a procedure parameter
§Examples
use reinhardt_query::prelude::*;
let query = Query::create_procedure()
.name("my_proc")
.add_parameter("param1", "integer")
.add_parameter("param2", "text");Sourcepub fn language(&mut self, language: FunctionLanguage) -> &mut Self
pub fn language(&mut self, language: FunctionLanguage) -> &mut Self
Set LANGUAGE
§Examples
use reinhardt_query::prelude::*;
use reinhardt_query::types::function::FunctionLanguage;
let query = Query::create_procedure()
.name("my_proc")
.language(FunctionLanguage::PlPgSql);Sourcepub fn behavior(&mut self, behavior: FunctionBehavior) -> &mut Self
pub fn behavior(&mut self, behavior: FunctionBehavior) -> &mut Self
Set procedure behavior (IMMUTABLE/STABLE/VOLATILE)
§Examples
use reinhardt_query::prelude::*;
use reinhardt_query::types::function::FunctionBehavior;
let query = Query::create_procedure()
.name("my_proc")
.behavior(FunctionBehavior::Immutable);Sourcepub fn security(&mut self, security: FunctionSecurity) -> &mut Self
pub fn security(&mut self, security: FunctionSecurity) -> &mut Self
Set security context (DEFINER/INVOKER)
§Examples
use reinhardt_query::prelude::*;
use reinhardt_query::types::function::FunctionSecurity;
let query = Query::create_procedure()
.name("my_proc")
.security(FunctionSecurity::Definer);Trait Implementations§
Source§impl Clone for CreateProcedureStatement
impl Clone for CreateProcedureStatement
Source§fn clone(&self) -> CreateProcedureStatement
fn clone(&self) -> CreateProcedureStatement
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CreateProcedureStatement
impl Debug for CreateProcedureStatement
Source§impl Default for CreateProcedureStatement
impl Default for CreateProcedureStatement
Source§impl QueryStatementBuilder for CreateProcedureStatement
impl QueryStatementBuilder for CreateProcedureStatement
Source§fn build_any(&self, query_builder: &dyn QueryBuilderTrait) -> (String, Values)
fn build_any(&self, query_builder: &dyn QueryBuilderTrait) -> (String, Values)
Build SQL statement for a database backend and collect query parameters Read more
impl QueryStatementWriter for CreateProcedureStatement
Auto Trait Implementations§
impl Freeze for CreateProcedureStatement
impl !RefUnwindSafe for CreateProcedureStatement
impl !Send for CreateProcedureStatement
impl !Sync for CreateProcedureStatement
impl Unpin for CreateProcedureStatement
impl UnsafeUnpin for CreateProcedureStatement
impl !UnwindSafe for CreateProcedureStatement
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more