Skip to main content
bhushanj475
November 14, 2025
Question

How to get multiple result set using executeStoredProcedureForQuery

  • November 14, 2025
  • 3 replies
  • 0 views

Hi Community,

Trying to replace store proc. plugin with executeStoredProcedureForQuery, But due to limitation it results only 1000 rows in one result set. 

As per the documentation a!executeStoredProcedureForQuery() Function - Appian 25.3

I have modified custome.proerties file with below settings but still not sure how I should get 10 result set with 1000 rows in each?

conf.executeStoredProcedure.limits.maxRowsPerResultSet=1000

conf.executeStoredProcedure.limits.maxTotalRows=10000

Do I need to change store proc to get multiple result set? 

can we increases more that 10K records using conf.executeStoredProcedure.limits.maxTotalRows configuration?

Thanks in advance.

Bhushan

3 replies

shubhama926776
November 14, 2025

Multiple result sets: Different queries, not batches of same data
Exceed 10K limit: No, maxTotalRows=10000 is usually a hard platform limit. You cannot increase it beyond Appian's maximum.
Solution for >10K rows: Implement pagination in your stored procedure (pass page number/offset) and call the function multiple times.

March 3, 2026

Hi [mention:9861aef97eb2483a8b76175d9eda1e37:e9ed411860ed4f2ba0265705b8793d05] Shubham. I'm calling this plugin in a local variable. Now, I need to replace it with the function as it is deprecated. I need this function to behave the same as plugin. i need more data than 1000 Need help with that. I am putting code here so that it will be understandable easily.

a!localVariables(
  local!selectedSite: {},
  local!selectedType: {},
  local!selected: false,
  local!finalData: index(
    executestoredprocedure(
      dataSourceName: "jdbc/SPTAM",
      procedureName: "sptam_sp_site_wise_batch",
      inputs: {
        {
          name: "nto",
          type: "VARCHAR",
          value: if(
            or(ri!esoType = "All", ri!esoType = "NTO"),
            "FALSE",
            ""
          )
        },
        {
          name: "eso",
          type: "VARCHAR",
          value: if(
            or(ri!esoType = "All", ri!esoType = "ESO"),
            "TRUE",
            ""
          )
        },
        {
          name: "notFound",
          type: "VARCHAR",
          value: if(
            or(
              ri!esoType = "All",
              ri!esoType = "NOT FOUND"
            ),
            "NOT FOUND",
            ""
          )
        },
        {
          name: "pharma",
          type: "VARCHAR",
          value: if(
            contains(
              ri!companyId,
              cons!SPTAM_DIVISION_ID_LIST[1]
            ),
            cons!SPTAM_DIVISION_ID_LIST[1],
            ""
          )
        },
        {
          name: "sandoz",
          type: "DATE",
          value: if(
            contains(
              ri!companyId,
              cons!SPTAM_DIVISION_ID_LIST[2]
            ),
            cons!SPTAM_DIVISION_ID_LIST[2],
            ""
          )
        },
        {
          name: "toDate",
          type: "DATE",
          value: ri!toDate
        },
        {
          name: "fromDate",
          type: "DATE",
          value: ri!fromDate
        }
      }
    ),
    "result",
    null
  )

harshas2775
November 14, 2025

Given the limitation the workaround is to loop through the store procedure to return all the data.  As per Appian recommendation even the 10k max limit, if applied, should be applied cautiously as it can impact performance. 
So suggest you to use the limit and offset in sql code of your store procedure and batch the dataset in a loop to fetch entire dataset.