Как отобразить текстовое сообщение из функции Postgresql в R блестящий - PullRequest
0 голосов
/ 31 января 2020

В настоящее время я работаю над своим блестящим приложением, и теперь я имею в виду просмотр сообщения о возврате из функции SQL в блестящем приложении после использования этой функции.
Вот моя функция:

    CREATE OR REPLACE FUNCTION delivery(s_i INTEGER, n INTEGER, q INTEGER, pr DECIMAL(10,2)) RETURNS TEXT AS $$
BEGIN
    INSERT INTO inbound(inb_supplier_id, name, quantity, price) VALUES(s_i, n, q, pr);
    RETURN 'This delivery was succesfully added into data base';
END;
$$ LANGUAGE 'plpgsql';

И часть моего блестящего приложения:

tabPanel("Inbound",
                 sidebarLayout(
                     sidebarPanel(

                         radioButtons('INBVIEW', h3('Choose the data set'),
                                      choices = list('This month deliveries' = "month",
                                                     'This day deliveries' = "day")),

                         tags$br(),
                         tags$br(),

                         h3(helpText('Add new delivery')),
                         textInput('INBsup', label = 'supplier id', value = 'id'),
                         textInput('INBpro', label = 'product id', value = 'id'),
                         textInput('INBq', label = 'quantity', value = 'quantity'),
                         textInput('INBp', label = 'price', value = 'price'),
                         actionButton(inputId = "INBZATWIERDZ", label = "Add", icon = icon("refresh"))
                     ),

                     mainPanel(
                         DT::dataTableOutput(outputId = 'INBtab1'),
                         textOutput(outputId = "INBtab2")
                     )

                 )),


server <- function(input, output){

    output$INBtab1 <- DT::renderDataTable({
        INBpom <- switch(input$INBVIEW,
                       month = 1,
                       day = 2)

        if (INBpom == 1){
            dbGetQuery(con, "SELECT * FROM inbound WHERE EXTRACT(MONTH FROM delivery_date) = EXTRACT(MONTH FROM CURRENT_DATE);")
        }
        else{
            dbGetQuery(con, "SELECT * FROM inbound WHERE delivery_date = CURRENT_DATE;")
        }
    })

    observeEvent(input$INBZATWIERDZ,{
        sup <- input$INBsup
        pro <- input$INBpro
        quan <- input$INBq
        price <- input$INBp

        output$INBtab2 <- DT::renderDataTable({
            fetch(dbSendQuery(con, paste0("SELECT delivery(",sup,",",pro,",",quan,",",price,");")))
        })
    })
}

Эта функция, конечно, работает, но, к сожалению, я не знаю, как отобразить это «Эта поставка была успешно добавлена ​​в базу данных» в моем блестящем приложении.
Заранее спасибо!

...