В настоящее время я работаю над своим блестящим приложением, и теперь я имею в виду просмотр сообщения о возврате из функции 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,");")))
})
})
}
Эта функция, конечно, работает, но, к сожалению, я не знаю, как отобразить это «Эта поставка была успешно добавлена в базу данных» в моем блестящем приложении.
Заранее спасибо!