Mysql
 sql >> Baza danych >  >> RDS >> Mysql

użyj zestawu wyników procedury składowanej mysql w innej procedurze składowanej

To, co chcesz zrobić, nie brzmi szczególnie dobrze i może powinieneś pomyśleć o przeprojektowaniu tych 2 procesów. Możesz jednak zrobić coś takiego jako szybką naprawę:

niech twój sp2 sproc zapisze wyniki pośrednie w tabeli tymczasowej, do której możesz uzyskać dostęp/przetworzyć wewnątrz sp1. Następnie możesz usunąć tabelę tymczasową utworzoną w sp2 po powrocie sp1.

http://pastie.org/883881

delimiter ;
drop procedure if exists foo;
delimiter #

create procedure foo()
begin

  create temporary table tmp_users select * from users;

  -- do stuff with tmp_users

  call bar();

  drop temporary table if exists tmp_users;

end #

delimiter ;

drop procedure if exists bar;

delimiter #

create procedure bar()
begin
  -- do more stuff with tmp_users
  select * from tmp_users;
end #

delimiter ;

call foo();

niezbyt eleganckie, ale powinno wystarczyć



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP MySql (1045) Odmowa dostępu dla użytkownika

  2. Nie mogę uzyskać mojego formularza logowania, aby połączyć się poprawnie z bazą danych mySQL

  3. jak używać DISTINCT ON z mysql za pomocą ActiveRecord

  4. MySQL Order według liczby, pustych ciągów (lub zer) Ostatnie

  5. Transponować wiersz do kolumn za pomocą MySQL bez używania UNIS?