sql - ओरेकल ट्रिगर में शामिल करें...(SELECT*...)




oracle plsql (2)

इस काम।

INSERT INTO T_USERS(ID) VALUES(:new.ID);

तो अगर यह आप के लिए फिट बैठता है तो यह कोशिश करें:

INSERT INTO T_USER(ID) SELECT ID FROM USER WHERE ID = :new.ID;

यदि आप किसी अन्य तालिका से एक या अधिक पंक्तियां चुनना चाहते हैं, तो आपको इस वाक्यविन्यास का उपयोग करना होगा:

insert into <table>(<col1>,<col2>,...,<coln>)
select <col1>,<col2>,...,<coln>
from ...;

अंदर डालें के साथ ट्रिगर (* चुनें ...)

मैं इसे कोशिश कर रहा हूँ

INSERT INTO T_ USERS SELECT * FROM USERS WHERE ID = :new.ID;

काम नहीं कर रहा...

इस काम।

INSERT INTO T_USERS(ID) VALUES(:new.ID);

उत्प्रेरक

create or replace trigger "TRI_USER"
AFTER
insert on "USER"
for each row
begin
INSERT INTO T_USER SELECT * FROM USER WHERE ID = :new.ID;
end;​

शायद आप वास्तविक त्रुटि जो आप अनुभव कर सकते हैं पोस्ट कर सकते हैं?

इसके अलावा, मैं सुझाव देता हूं कि आप अपने दृष्टिकोण को पुनर्विचार ट्रिगर जिसमें डीएमएल होते हैं, सभी प्रकार के मुद्दों को पेश करते हैं। ध्यान रखें कि ओरेकल डाटाबेस को ट्रिगर को पुनरारंभ करने की आवश्यकता हो सकती है, और इसलिए एक विशेष पंक्ति के लिए आपके डीएमएल कई बार निष्पादित कर सकता है।

इसके बजाय, अपने सभी संबंधित डीएमएल विवरणों को एक पीएल / एसक्यूएल प्रक्रिया में एक साथ रखकर उसको लागू करें।







plsql