Bu yanıtı hiçbir yerde bulamıyorum, ancak MySQL'te başka bir Depolanmış Prosedürden Saklı Yordam olarak adlandırılabilir misiniz? Kimlik Değerini geri almak ve ana Depolanmış Prosedürde kullanmak istiyorum. Artık FUNCTIONS kullanamıyoruz!MySQL'de Depolanmış Prosedürde Saklanan Bir Prosedürü Aranıyor
cevap
CREATE PROCEDURE innerproc(OUT param1 INT)
BEGIN
insert into sometable;
SELECT LAST_INSERT_ID() into param1 ;
END
-----------------------------------
CREATE PROCEDURE outerproc()
BEGIN
CALL innerproc(@a);
// @a gives you the result of innerproc
SELECT @a INTO variableinouterproc FROM dual;
END
OUT
parametreleri geri arama değerleri elde etmede size yardımcı olacaktır:
İşte tam test örnek.
başka yordamı çağırmak için kullanın CALL: örn: Call SP1(parm1, parm2);
kimliğini almak için, LAST_INSERT_ID() kontrol deneyin yaptı; SP aramanızdan sonra SELECT LAST_INSERT_ID()
gibi bir şey yaparsınız. Solüsyon böyle bir şey olmalı bu konuda procedure.Based
DELIMITER $$
CREATE TABLE animals (
id MEDIUMINT NOT NULL AUTO_INCREMENT,
name CHAR(30) NOT NULL,
PRIMARY KEY (id)
) $$
CREATE PROCEDURE sp1()
BEGIN
insert into animals (name) values ('bear');
END $$
CREATE PROCEDURE sp2()
BEGIN
call sp1;
select last_insert_id();
END $$
call sp2;
LAST_INSERT_ID() kullanıyorsunuz, bunun daha iyi olduğunu düşünüyor musunuz? –
@Mike Flynn- OUT parametresi gerçekten gerekli değil, sadece son_insert_id() öğesini seçerek en son eklenen kimliği alabilirsiniz. – dcp
LAST INSERTED ID'yi iade etmek veya aynı işlevde mevcutsa onu almak istersek ne olur? –
- 1. Depolanmış Prosedürü, EntityFramework
- 2. Çoğu Yürütülen Depolanmış Prosedürü?
- 3. MySQL DB'de saklanan bir JSON aranıyor
- 4. Klasik ADO ve Depolanmış Prosedürde Tablo Değerli Parametreler
- 5. SQL Server'da bir değişken bildirme ve aynı Depolanmış Prosedürde nasıl kullanılır
- 6. Dinamik MySQL Saklı Prosedürde Madde
- 7. Numaralandırılmış verileri bir Durum Sütununa göre yeniden sıralayacak bir Depolanmış Prosedürü nasıl yazabilirim?
- 8. Sqlsrv Sürücüsü Kullanarak Saklanan Yordamdan Veri Al
- 9. Saklanan Yordamlar ve güncelleştirme EDMX
- 10. Bir krom uzantısında saklanan bir varlık yükleniyor
- 11. SQL Server 2012 Saklanan Prosedürü bir IN parametresini kabul etmek ve birden çok ekleme yapmak için
- 12. Depolanmış probu DB'de mevcut mu kontrol edin?
- 13. MySQL Bir İşlev İçinde Depolanmış Yordamı Çağır
- 14. Geçiş Listesi Prosedürü
- 15. PlotBars prosedürü
- 16. MySQL Prosedürü?
- 17. ArgoUML ve bir "alt-prosedürü"
- 18. MongoDB'de depolanmış javascript işlevlerinde nasıl hata ayıklayabilirsiniz?
- 19. Oracle Depolanmış Prosedürleri İçinde Metin Aranması
- 20. Depolanmış proc'u OPENQUERY
- 21. Saklanan Yordam T-SQL Boole kontrolü
- 22. Fonksiyonun kapsamı aranıyor
- 23. iOS MediaPlayer Aranıyor
- 24. Aranıyor: WinAPI logger
- 25. ffmpeg kodlama örneği aranıyor?
- 26. Etiket için Jira aranıyor! =
- 27. Prosedürü dosyaya kaydet
- 28. Seçim, Oracle prosedürü
- 29. Lua - Tabloda Depolanmış Bir Fonksiyon Yürütme
- 30. Depolanmış bir özellik 'description' ile geçersiz kılma '
Kullanıyorsunuz, bunun daha iyi olduğunu düşünüyor musunuz LAST_INSERT_ID()? –
Bir işlev olsaydı, LAST_INSERT_ID işlevini RETURN VALUE olarak döndürürdünüz. Bu çözüm, PROSEDÜR'ün –
işlevine eşdeğer olması için aynı şeyi sağlamalıdır. Diğer yanıt, OUT olmadan LAST_INSERT_ID() kullanabileceğimi söylüyor? –