この回答はどこでも見つかりませんが、MySQLの別のストアドプロシージャからストアドプロシージャを呼び出すことはできますか?アイデンティティ値を取得して親ストアドプロシージャで使用する必要があります。もう機能を使用することはできません!MySQLのストアドプロシージャでストアドプロシージャを呼び出す
答えて
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
パラメータは、呼び出し元に値を得ることにあなたを助ける必要があります。
はここで完了し、テストした例です。
CALLを使用し、別のプロシージャを呼び出すために: 例:Call SP1(parm1, parm2);
IDを取得するには、LAST_INSERT_ID()をチェックアウトしようとしませんでした。あなたはSPコールの後にSELECT LAST_INSERT_ID()
のようなことをします。ソリューションは、このようなものでなければならないことに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()を使用していますが、これがうまくいくと思いますか? –
@Mike Flynn-OUTパラメータは本当に必要ではありません。select last_insert_id()を呼び出すだけで、最後に挿入されたIDを取得できます。 – dcp
LAST INSERTED IDを返す場合、または同じ関数で使用できる場合はそれを取得したい場合はどうすればよいですか? –
- 1. MySQLのストアドプロシージャ内でストアドプロシージャを呼び出す方法
- 2. mysqlの別のストアドプロシージャからストアドプロシージャを呼び出す方法は?
- 3. Erlangモジュールがmysqlストアドプロシージャを呼び出す
- 4. PHPからMySQLストアドプロシージャを呼び出す
- 5. ストアドプロシージャを呼び出すPython Mysqlクラス
- 6. ストアドプロシージャpythonを呼び出す
- 7. ストアドプロシージャを呼び出す
- 8. ストアドプロシージャ(MVC4)を呼び出す
- 9. 他のストアドプロシージャを呼び出すストアドプロシージャが不正ですか?
- 10. wcfのループでストアドプロシージャを呼び出す
- 11. 他のストアドプロシージャを呼び出すストアドプロシージャ内の例外フロー
- 12. 別のストアドプロシージャを呼び出すSQL Serverストアドプロシージャの問題
- 13. Rails経由でストアドプロシージャを呼び出す?
- 14. EntityFrameworkでストアドプロシージャを呼び出す方法
- 15. HibernateとSpringでストアドプロシージャを呼び出す
- 16. Javaでストアドプロシージャを呼び出す
- 17. ストアドプロシージャ内でGRANTを呼び出す
- 18. sequelizeでストアドプロシージャを呼び出す
- 19. VBでSQL Serverストアドプロシージャを呼び出す
- 20. cakephpでストアドプロシージャを呼び出すには?
- 21. asp.netでストアドプロシージャを呼び出す
- 22. dblinkでストアドプロシージャを呼び出す
- 23. Pythonでcursor.callproc()を使用してMySQLストアドプロシージャを呼び出す
- 24. ストアドプロシージャのselectステートメントからストアドプロシージャを呼び出す
- 25. Cosmos Document DBのストアドプロシージャからストアドプロシージャを呼び出す?
- 26. Pythonのsqlalchemyストアドプロシージャを呼び出す
- 27. ストアドプロシージャを別のコレクションに呼び出す
- 28. Oracle:パッケージ内のストアドプロシージャを呼び出す
- 29. ストアドプロシージャの列名を呼び出す
- 30. CLRストアドプロシージャからT-SQLストアドプロシージャを呼び出す
あなたが使っていますが、これはLAST_INSERT_ID()をやっている方が良いと思いますか? –
関数であれば、戻り値として関数からLAST_INSERT_IDを返します。この解決法は、PROCEDUREが関数 –
と等価になるように同じものを提供する必要があります。他の答えは、OUTなしでLAST_INSERT_ID()を使用できますか? –