--- title: "getInputParameters function (sqlrutils)" description: "getInputParameters: returns a list of SQL Server parameter objects that describe the input parameters associated with a stored procedure." author: "rothja" ms.author: "jroth" ms.date: 07/15/2019 ms.service: sql ms.subservice: machine-learning ms.topic: "reference" keywords: - (sqlrutils) - getInputParameters monikerRange: ">=sql-server-2016||>=sql-server-linux-ver15" --- # getInputParameters: Get a List of Input Parameters of a SQL Stored Procedure `getInputParameters`: returns a list of SQL Server parameter objects that describe the input parameters associated with a stored procedure ## Usage ``` getInputParameters(sqlSP) ``` ## Arguments ### `sqlSP` A valid StoredProcedure Object ## Value A named list of SQL Server parameter objects (InputData, InputParameter) associated with the provided StoredProcedure object. The names are the names of the variables from the R function provided into StoredProcedure associated with the objects ## Examples ``` ## Not run: # See ?StoredProcedure for creating the `cleandata` table. # and ?executeStoredProcedure for creating the `rdata` table. # score1 makes a batch prediction given clean data(indata), # model object(model_param), and the new name of the variable # that is being predicted score1 <- function(indata, model_param, predVarName) { indata[,"DayOfWeek"] <- factor(indata[,"DayOfWeek"], levels=c("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday")) # The connection string conStr <- paste("Driver={ODBC Driver 13 for SQL Server};Server=.;Database=RevoTestDB;", "Trusted_Connection=Yes;", sep = "") # The compute context computeContext <- RxInSqlServer(numTasks=4, connectionString=conStr) mm <- rxReadObject(as.raw(model_param)) # Predict result <- rxPredict(modelObject = mm, data = indata, outData = NULL, predVarNames = predVarName, extraVarsToWrite = c("ArrDelay"), writeModelVars = TRUE, overwrite = TRUE) } # connections string conStr <- paste0("Driver={ODBC Driver 13 for SQL Server};Server=.;Database=RevoTestDB;", "Trusted_Connection=Yes;") # create InpuData Object for an input parameter that is a data frame id <- InputData(name = "indata", defaultQuery = "SELECT * from cleanData") # InputParameter for the model_param input variable model <- InputParameter("model_param", "raw", defaultQuery = "select top 1 value from rdata where [key] = 'linmod.v1'") # InputParameter for the predVarName variable name <- InputParameter("predVarName", "character") sp_df_df <- StoredProcedure(score1, "sTest", id, model, name, filePath = ".") # inspect the input parameters getInputParameters(sp_df_df) # "model_param" "predVarName" "indata" # register the stored procedure with a database registerStoredProcedure(sp_df_df, conStr) # assign a different query to the InputData so that it only uses the firt 10 rows id <- setInputDataQuery(id, "SELECT top 10 * from cleanData") # assign a value to the name parameter name <- setInputParameterValue(name, "ArrDelayEstimate") # execute the stored procedure model <- executeStoredProcedure(sp_df_df, id, name, connectionString = conStr) model$data ## End(Not run) ```