2016-11-18 13 views
-4

Ich muss diese beiden Abfragen in einer einzigen Abfrage in vorbereiteten Anweisung verwenden. Ich denke, gespeicherte Prozeduren werden mir helfen, aber ich habe keine klare Vorstellung von gespeicherten Prozeduren.Wie schreibe ich eine gespeicherte Prozedur für meinen folgenden Code?

insert into call_dtl (consult_id,cust_id,ticket_id,created_ts) 
    values (2, 
     (select cd.cust_id from cust_dtl cd where cd.name='venkat'), 
    '00001','2016-12-31 23:59:59'); 
update ticket_dtl t set t.stat_id="2" where t.ticket_id='00002'; 

Antwort

1
DELIMITER $$ 

USE `your_db_name`$$ 

DROP PROCEDURE IF EXISTS `your_proc_name`$$ 

CREATE DEFINER=`your_user`@`your_host` PROCEDURE `your_proc_name`() 
BEGIN 
INSERT INTO call_dtl (consult_id,cust_id,ticket_id,created_ts) VALUES (2,(SELECT cd.cust_id FROM cust_dtl cd WHERE cd.name='venkat'),'00001','2016-12-31 23:59:59'); 
UPDATE ticket_dtl t SET t.stat_id="2" WHERE t.ticket_id='00002'; 
END$$ 

DELIMITER ; 
+0

danke für ur Antwort, habe ich versucht, es Sir, aber es gibt einen Fehler wie {Sie einen Fehler in der SQL-Syntax haben: das Handbuch, die für die richtige Syntax zu Ihrer MySQL-Server-Version entspricht Verwenden Sie in der Nähe von "$$ DELIMETER" in Zeile 5} – Cinthiyal

Verwandte Themen