Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

ИЗБЕРЕТЕ ОТ съхранена процедура?

Разбирам, че това е преди повече от 3 години, но в случай, че някой друг търси отговор на този въпрос. Трябваше да се справя с тази платформа за отчитане, Izenda, и открих, че съхранените процедури се третират по различен начин от изхода от иконата "sql". Ето какво се случва, когато изберете sp като източник на данни

  1. Изгражда се динамичен sql
  2. Създава две временни таблици с всички колони, които вашият sp връща
  3. Първата временна таблица се попълва с резултата от вашата съхранена процедура
  4. Втората временна таблица се попълва с резултата плюс стойността на вашия входен параметър.
  5. Създава се израз, който отправя запитвания към тези две временни таблици

Моля, имайте предвид, че ако не му подадете параметър, той ще се изпълни със стойност по подразбиране празен низ '', който най-вероятно няма да върне данни.

По мое мнение, ужасна идея за обработка на съхранени процедури, което е добра причина, поради която планираме да ги изоставим за друго решение за отчитане.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Заявка за проверка на припокриващи се диапазони в sql сървър?

  2. Сравнете планове за изпълнение в SQL Server

  3. ORDER BY ... COLLATE в SQL Server

  4. 3 начина за връщане на броя на редовете във всеки дял в SQL Server (T-SQL)

  5. SQL Брой за включване на нулеви стойности