conganh10101993

New Member
Joined
Mar 2, 2018
Messages
194
Reaction score
0
JUchi said:
Bạn thử post demo dummy lên đi
XIn lỗi thím, em không thể post data ra được ạ, đến cấu trúc em cũng phải thay đổi cả rồi :(


Nhân tiện thì em được hướng dẫn dùng câu lệnh

INSERT INTO table SELECT ....;

Nhưng trong FUNCTION khi chạy nó báo lỗi
ML operation like insert, update, delete or select-for-update
cannot be performed inside a query or under a PDML slave :(
 

otarachi

New Member
Joined
Sep 30, 2017
Messages
19
Reaction score
0
tham khảo nhé.

INSERT INTO table

(column1, column2, ... column_n, time, user )

SELECT expression1, expression2, ... expression_n, sysdate, 999

FROM source_table

[WHERE conditions];
 

Chaien at IS

New Member
Joined
Oct 1, 2017
Messages
48
Reaction score
0
conganh10101993 said:
XIn lỗi thím, em không thể post data ra được ạ, đến cấu trúc em cũng phải thay đổi cả rồi :(


Nhân tiện thì em được hướng dẫn dùng câu lệnh

INSERT INTO table SELECT ....;

Nhưng trong FUNCTION khi chạy nó báo lỗi
ML operation like insert, update, delete or select-for-update
cannot be performed inside a query or under a PDML slave :(
trong lệnh select của thím có trigger insert/update/delete nên không hợp lệ nhé
 

votrieudi

New Member
Joined
Jan 1, 2018
Messages
13
Reaction score
0
procedure copy_abc is

begin

execute immediate 'truncate bang2';

execute immediate q['create table column as

(select column_name from user_tab_column where table_name ='bang1') ]';

for i in (select * from column)

loop

if i in (select * from condition) then

execute immediate q'[ insert into bang2:)i)

select :i

from bang 1 ]' using in i;

;

end if;

end loop;

commit;

end copy_abc;
 

JUchi

New Member
Joined
Oct 2, 2017
Messages
2,116
Reaction score
6
conganh10101993 said:
XIn lỗi thím, em không thể post data ra được ạ, đến cấu trúc em cũng phải thay đổi cả rồi :(


Nhân tiện thì em được hướng dẫn dùng câu lệnh

INSERT INTO table SELECT ....;

Nhưng trong FUNCTION khi chạy nó báo lỗi
ML operation like insert, update, delete or select-for-update
cannot be performed inside a query or under a PDML slave :(
Insert Into để làm 1 cái bảng tạm đó.

Còn trong query của bạn có insert, update, delete thì nó không cho.
 

conganh10101993

New Member
Joined
Mar 2, 2018
Messages
194
Reaction score
0
otarachi said:
tham khảo nhé. lỗi trên là do bạn gọi function sai cách.
INSERT INTO table
(column1, column2, ... column_n, time, user )
SELECT expression1, expression2, ... expression_n, sysdate, 999
FROM source_table
[WHERE conditions];
Cảm ơn thím, nãy do em dùng lệnh SELECT nên không được, chuyển qua gọi bằng SQL*PLUS thì oke rồi.

votrieudi said:
procedure copy_abc is
begin
execute immediate 'truncate bang2';
execute immediate q['create table column as
(select column_name from user_tab_column where table_name ='bang1') ]';
for i in (select * from column)
loop
if i in (select * from condition) then
execute immediate q'[ insert into bang2:)i)
select :i
from bang 1 ]' using in i;
;
end if;
end loop;
commit;
end copy_abc;
Cảm ơn thím, nhưng em không truncate bảng được ạ. Khách hàng nó giết em chết, DB cả triệu người dùng không làm cách này được ạ.


Trường hợp cụ thể thì thế này :
Database :
- Bang_1 : Col_1, Col_2, Col_3... Col_50
- Bang_2 : Col_1, Col_2, Col_3... Col_50, Time, user
INPUT :
- nvarchar :sql_str Câu lệnh SELECT (EX: 'SELECT Col_1,Col_2..Col_15 FROM Bang_1')
- nvarchar :danhsachcot danh sách các cột ( Ex: 'Col_1, Col_2, Col_3... Col_n')

Yêu cầu :

INSERT vào bảng 2 các value được lấy về từ câu select truyền vào.
Time : time hiện tại,
User: 'Test_User'

KH bảo làm tạm thời là:
INSERT INTO bang_2(danhsachcot) || sql_str ;
Sau đó
Update bang_2... WHERE Time = null AND user = null;

Nhưng KH ko muốn dùng cách này, vì ko đảm bảo câu lệnh UPDATE chạy đúng với các record vừa insert vào.

Thiím nào giúp em với
 

Luizions

New Member
Joined
Sep 28, 2017
Messages
249
Reaction score
0
Ông muốn giúp thì post dummy data lên mà còn có cái mà xác định ,req rõ ràng còn chưa chắc làm đúng , đưa cái req lơ mơ vậy ai rảnh mà phụ.Tôi làm DBA mà nhìn req của ông cũng ngán
 

Luizions

New Member
Joined
Sep 28, 2017
Messages
249
Reaction score
0
Ông muốn giúp thì post dummy data lên mà còn có cái mà xác định ,req rõ ràng còn chưa chắc làm đúng , đưa cái req lơ mơ vậy ai rảnh mà phụ.Tôi làm DBA mà nhìn req của ông cũng ngán
 

Luizions

New Member
Joined
Sep 28, 2017
Messages
249
Reaction score
0
Ông muốn giúp thì post dummy data lên mà còn có cái mà xác định ,req rõ ràng còn chưa chắc làm đúng , đưa cái req lơ mơ vậy ai rảnh mà phụ.Tôi làm DBA mà nhìn req của ông cũng ngán
 

Luizions

New Member
Joined
Sep 28, 2017
Messages
249
Reaction score
0
Ông muốn giúp thì post dummy data lên mà còn có cái mà xác định ,req rõ ràng còn chưa chắc làm đúng , đưa cái req lơ mơ vậy ai rảnh mà phụ.Tôi làm DBA mà nhìn req của ông cũng ngán
 
Top