PDA

View Full Version : Cho e hỏi về thủ tục insert, update



shinboiz
04-10-2010, 10:53
Khi một bảng dữ liệu có thay đổi về trường dữ liệu (thêm trường hoặc giảm bớt trường ko cần thiết)...
Nếu viết thủ tục dạng:
create proc ProcName @inp1 datatype, @inp2 datatype,...,@inp3 datatype
...
Vấn đề xảy ra là thủ tục insert, update sẽ phải thay đổi đầu vào=> Sửa như thế sẽ rất tốn công.

Vậy cho e hỏi có cách nào để giải quyết được việc này ko ạ?

Thanks các bro!

solewind.it
04-10-2010, 16:42
có 1 cách-là dùng phần mềm gencode ra proc, hì. bạn học lt mà lười thế, theo m hiểu thì k có cách nào đâu.

shinboiz
04-10-2010, 18:33
dạ ko phải e lười ạ? E đi phỏng vấn các a ấy bảo e làm thế này thì hơi mệt... nên e hỏi các bro :(

solewind.it
04-10-2010, 21:29
Thế sao k hỏi lại luôn mấy anh ấy xem làm thế nào? Trong sql thì chả có cách nào đâu.

Red Devilic
05-10-2010, 08:45
Cấu trúc của Dữ liệu mà phải thay đổi thường xuyên, thì do lỗi của người thiết kế.

Dẫn đến sự thay đổi cấu trúc của dữ liệu, thì bắt buộc các stored Insert, Update cũng phải thay đổi theo, Nếu các cột mới ( hoặc cột cần loại bỏ ) xuất hiện trong Stored, Function thì dĩ nhiên là cần phải viết lại

Anh có thể dùng tool để generate ra code, hoặc sửa bằng tay, nhưng dù làm cách nào đi nữa, thì vẫn dẫn đến việc cần thay đổi code

Nếu người phỏng vấn bảo làm vậy là mệt, thì ngay từ đầu, thiết kế cho tốt có phải đỡ mệt cho sau này không :)

Nếu bạn vào được công ty, hôm nào nhờ các anh phỏng vấn tư vấn cho hướng giải quyết xem thế nào, mình cũng muốn lắng nghe

solewind.it
06-10-2010, 07:39
oh. Bác kia chém gió thôi. làm có ông phỏng vấn nào hỏi ngu vậy. ^^

megaownage
07-10-2010, 09:18
Thay đổi CSDL là công việc cao cấp. Khi đi PV gặp câu hỏi này thì trả lời như vậy. Tại sao?

Bớt trường: làm sao biết trường này đang được dùng ở đâu? Kiểm soát tất cả các stored proc (viết lại). Báo cho tất cả các linked íntances - ai có dùng trường này thì coi chừng crash. Báo cho tất cả các bộ phận developers - ác mộng dynamic sql! Tạo view tạm trong thời gian chuyển tiếp. Vv và vv, chỉ có seniors mới đảm đương nổi.

Thêm trường: dễ hơn một chút, chỉ việc cho nó 'allow null' là xong. Tuy nhiên phải chắc ăn là các trường thêm này nằm ở cuối dòng. Các phần mềm dùng lệnh insert trường theo lối mặc định sẽ không bị hẫng.

tb. theo câu hỏi của chủ đề bài thì 'người phỏng vấn' chỉ biết đến phần viết stored proc như thế nào cho dễ sửa. 'Người phỏng vấn' này ra một câu chủ ý hù SV mới ra trường.