ಒಂದು ಹಂತ ಹಂತದ ಗೈಡ್ ಬಳಸಿ ಪ್ರಯತ್ನಿಸುವಾಗ ... SQL ಸರ್ವರ್ ದೋಷಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಕ್ಯಾಚ್

ಮರಣದಂಡನೆಗೆ ಅಡ್ಡಿಯಿಲ್ಲದೆ ದೋಷಗಳನ್ನು ಗುರುತಿಸಿ

TRY ... ಟ್ರಾನ್ಕ್ಯಾಕ್ಟ್- SQL ನಲ್ಲಿ ಕ್ಯಾಚ್ ಹೇಳಿಕೆ ನಿಮ್ಮ ಡೇಟಾಬೇಸ್ ಅಪ್ಲಿಕೇಶನ್ಗಳಲ್ಲಿ ದೋಷ ಪರಿಸ್ಥಿತಿಗಳನ್ನು ಪತ್ತೆಹಚ್ಚುತ್ತದೆ ಮತ್ತು ನಿಭಾಯಿಸುತ್ತದೆ. ಈ ಹೇಳಿಕೆ SQL ಸರ್ವರ್ ದೋಷ ನಿರ್ವಹಣೆಯ ಮೂಲಾಧಾರವಾಗಿದೆ ಮತ್ತು ದೃಢವಾದ ಡೇಟಾಬೇಸ್ ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸುವಲ್ಲಿ ಪ್ರಮುಖ ಭಾಗವಾಗಿದೆ. ಪ್ರಯತ್ನಿಸಿ ... 2008 ರಿಂದ ಪ್ರಾರಂಭವಾಗುವ SQL ಸರ್ವರ್ಗೆ ಕ್ಯಾಚ್ ಅನ್ವಯಿಸುತ್ತದೆ, ಅಜುರೆ SQL ಡೇಟಾಬೇಸ್, ಅಜುರೆ SQL ಡೇಟಾ ವೇರ್ಹೌಸ್ ಮತ್ತು ಪ್ಯಾರಾಲಲ್ ಡೇಟಾ ವೇರ್ಹೌಸ್.

TRY ಕ್ಯಾಚ್ ಪರಿಚಯಿಸುತ್ತಿದೆ

ಪ್ರಯತ್ನಿಸಿ ... ಎರಡು ಟ್ರಾನ್ಕ್ಯಾಕ್ಟ್-SQL ಹೇಳಿಕೆಗಳನ್ನು ಸೂಚಿಸಲು ಅನುಮತಿಸುವ ಮೂಲಕ ಕ್ಯಾಚ್ ಕೆಲಸ ಮಾಡುತ್ತದೆ: ಏನಾದರೂ ಉಂಟಾಗಬಹುದಾದ ಯಾವುದೇ ದೋಷಗಳನ್ನು "ಹಿಡಿಯಲು" ನೀವು "ಪ್ರಯತ್ನಿಸಲು" ಬಯಸುತ್ತೀರಿ ಮತ್ತು ಇನ್ನೊಬ್ಬರು. SQL ಸರ್ವರ್ ಒಂದು ಪರೀಕ್ಷೆಯನ್ನು ಎದುರಿಸುವಾಗ ... ಕ್ಯಾಚ್ ಹೇಳಿಕೆಯು, TRY ಷರತ್ತು ಒಳಗೊಂಡಿರುವ ಹೇಳಿಕೆಯನ್ನು ತಕ್ಷಣವೇ ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತದೆ. TR ಹೇಳಿಕೆ ಯಶಸ್ವಿಯಾಗಿ ಕಾರ್ಯಗತಗೊಂಡರೆ, SQL ಸರ್ವರ್ ಸರಳವಾಗಿ ಚಲಿಸುತ್ತದೆ. ಹೇಗಾದರೂ, TRY ಹೇಳಿಕೆಯು ದೋಷವನ್ನು ಉಂಟುಮಾಡಿದರೆ, SQL ಸರ್ವರ್ ದೋಷವನ್ನು ಸರಿಯಾಗಿ ನಿರ್ವಹಿಸಲು ಕ್ಯಾಚ್ ಹೇಳಿಕೆಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತದೆ.

ಮೂಲ ಸಿಂಟ್ಯಾಕ್ಸ್ ಈ ರೂಪವನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ:

BEGIN TRY {sql_statement | statement_block} END BEGIN ಕ್ಯಾಚ್ [{sql_statement | statement_block}] END ಕ್ಯಾಚ್ [; ]

ಪ್ರಯತ್ನಿಸಿ ... ಕ್ಯಾಚ್ ಉದಾಹರಣೆ

ಈ ಉದಾಹರಣೆಯ ಬಳಕೆಯ ಮೂಲಕ ಈ ಹೇಳಿಕೆಯ ಬಳಕೆಯನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು ಸುಲಭವಾಗಿದೆ. ನಿಮ್ಮ ಸಂಸ್ಥೆಯ ಪ್ರತಿಯೊಬ್ಬ ಉದ್ಯೋಗಿಗಳ ಬಗ್ಗೆ ಮಾಹಿತಿಯನ್ನು ಹೊಂದಿರುವ "ನೌಕರರು" ಎಂಬ ಟೇಬಲ್ ಅನ್ನು ಒಳಗೊಂಡಿರುವ ಮಾನವ ಸಂಪನ್ಮೂಲ ದತ್ತಸಂಚಯದ ನಿರ್ವಾಹಕರಾಗಿದ್ದಾರೆ ಎಂದು ಊಹಿಸಿಕೊಳ್ಳಿ. ಆ ಟೇಬಲ್ ಒಂದು ಪೂರ್ಣಾಂಕ ನೌಕರ ID ಯನ್ನು ಪ್ರಾಥಮಿಕ ಕೀಲಿಯಾಗಿ ಬಳಸುತ್ತದೆ . ಹೊಸ ಡೇಟಾಬೇಸ್ ಅನ್ನು ನಿಮ್ಮ ಡೇಟಾಬೇಸ್ಗೆ ಸೇರಿಸಲು ಕೆಳಗಿನ ಹೇಳಿಕೆ ಬಳಸಲು ನೀವು ಪ್ರಯತ್ನಿಸಬಹುದು:

ಉದ್ಯೋಗಿಗಳಿಗೆ (id, first_name, last_name, ವಿಸ್ತರಣೆ) VALUES ಗೆ ಸೇರಿಸಿ (12497, 'ಮೈಕ್', 'ಚಾಪಲ್', 4201)

ಸಾಮಾನ್ಯ ಸಂದರ್ಭಗಳಲ್ಲಿ, ಈ ಹೇಳಿಕೆ ಎಂಪ್ಲಾಯೀಸ್ ಟೇಬಲ್ಗೆ ಸಾಲನ್ನು ಸೇರಿಸುತ್ತದೆ. ಆದಾಗ್ಯೂ, ದತ್ತಸಂಚಯದಲ್ಲಿ ID 12497 ಹೊಂದಿರುವ ಉದ್ಯೋಗಿ ಈಗಾಗಲೇ ಅಸ್ತಿತ್ವದಲ್ಲಿದ್ದರೆ, ಸಾಲು ಸೇರಿಸುವುದರಿಂದ ಪ್ರಾಥಮಿಕ ಕೀ ನಿರ್ಬಂಧವನ್ನು ಉಲ್ಲಂಘಿಸುತ್ತದೆ ಮತ್ತು ಈ ಕೆಳಗಿನ ದೋಷವನ್ನು ಉಂಟುಮಾಡುತ್ತದೆ:

Msg 2627, ಮಟ್ಟ 14, ರಾಜ್ಯ 1, ಸಾಲು 1 ಪ್ರೈಮರಿ ಕೀ ನಿರ್ಬಂಧದ ಉಲ್ಲಂಘನೆ 'PK_employee_id'. ವಸ್ತು 'dbo.employees' ನಲ್ಲಿ ನಕಲಿ ಕೀಲಿಯನ್ನು ಸೇರಿಸಲಾಗುವುದಿಲ್ಲ. ಹೇಳಿಕೆ ಕೊನೆಗೊಂಡಿದೆ.

ಈ ದೋಷವು ನಿಮಗೆ ಸಮಸ್ಯೆಯನ್ನು ನಿವಾರಿಸಲು ಅಗತ್ಯವಿರುವ ಮಾಹಿತಿಯನ್ನು ಒದಗಿಸುತ್ತದೆ ಆದರೆ, ಅದರೊಂದಿಗೆ ಎರಡು ಸಮಸ್ಯೆಗಳಿವೆ. ಮೊದಲು, ಸಂದೇಶವು ರಹಸ್ಯವಾಗಿದೆ. ಇದು ದೋಷಸೂಚಕ ಸಂಕೇತಗಳು, ಸಾಲಿನ ಸಂಖ್ಯೆಗಳು ಮತ್ತು ಸರಾಸರಿ ಬಳಕೆದಾರರಿಗೆ ಗ್ರಹಿಸುವ ಇತರ ಮಾಹಿತಿಯನ್ನು ಒಳಗೊಂಡಿದೆ. ಎರಡನೆಯ, ಮತ್ತು ಹೆಚ್ಚು ಮುಖ್ಯವಾಗಿ, ಇದು ಹೇಳಿಕೆಯನ್ನು ಸ್ಥಗಿತಗೊಳಿಸುವುದಕ್ಕೆ ಕಾರಣವಾಗುತ್ತದೆ ಮತ್ತು ಅಪ್ಲಿಕೇಶನ್ ಕುಸಿತಕ್ಕೆ ಕಾರಣವಾಗಬಹುದು.

ಪರ್ಯಾಯವಾಗಿ ಈ ಹೇಳಿಕೆಯನ್ನು TRY ನಲ್ಲಿ ಬರೆಯಿರಿ ... ಕ್ಯಾಚ್ ಹೇಳಿಕೆ, ಕೆಳಗೆ ತೋರಿಸಿರುವಂತೆ:

BEGIN ಉದ್ಯೋಗಿಗಳಿಗೆ (id, first_name, last_name, ವಿಸ್ತರಣೆ) VALUES (12497, 'ಮೈಕ್', 'ಚಾಪಲ್', 4201) ಸೇರಿಸಿ INSERT ಪ್ರಯತ್ನಿಸಿ BEGIN ಕ್ಯಾಚ್ ಪ್ರಿಂಟ್ 'ದೋಷ:' + ERROR_MESSAGE (); EXEC msdb.dbo.sp_send_dbmail @profile_name = 'ನೌಕರರ ಮೇಲ್', @ ರೆಸಿಪಿಂಟ್ಗಳು = 'hr@foo.com', @body = 'ಹೊಸ ನೌಕರ ದಾಖಲೆಯನ್ನು ರಚಿಸುವಲ್ಲಿ ದೋಷ ಸಂಭವಿಸಿದೆ.', @ Subject = 'Employee ID duplication error'; ಎಂಡ್ ಕ್ಯಾಚ್

ಈ ಉದಾಹರಣೆಯಲ್ಲಿ, ಸಂಭವಿಸುವ ಯಾವುದೇ ದೋಷಗಳು ಆಜ್ಞೆಯನ್ನು ಮತ್ತು hr@foo.com ಇ-ಮೇಲ್ ವಿಳಾಸವನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವ ಬಳಕೆದಾರರಿಗೆ ವರದಿಯಾಗಿದೆ. ಬಳಕೆದಾರರಿಗೆ ತೋರಿಸಿರುವ ದೋಷವು ಕೆಳಗೆ ಕಂಡುಬರುತ್ತದೆ:

ದೋಷ: ಪ್ರೈಮರಿ ಕೀ ನಿರ್ಬಂಧದ ಉಲ್ಲಂಘನೆ 'PK_employee_id'. ವಸ್ತು 'dbo.employees' ನಲ್ಲಿ ನಕಲಿ ಕೀಲಿಯನ್ನು ಸೇರಿಸಲಾಗುವುದಿಲ್ಲ. ಮೇಲ್ ಸರತಿಯಲ್ಲಿದೆ.

ಬಹು ಮುಖ್ಯವಾಗಿ, ಅಪ್ಲಿಕೇಶನ್ ಮರಣದಂಡನೆ ಸಾಮಾನ್ಯವಾಗಿ ಮುಂದುವರಿಯುತ್ತದೆ, ಪ್ರೊಗ್ರಾಮರ್ ದೋಷವನ್ನು ನಿರ್ವಹಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. ಪರೀಕ್ಷೆಯ ಬಳಕೆಯನ್ನು ... SQL ಸರ್ವರ್ ಡೇಟಾಬೇಸ್ ಅಪ್ಲಿಕೇಶನ್ಗಳಲ್ಲಿ ಸಂಭವಿಸುವ ದೋಷಗಳನ್ನು ಪೂರ್ವಭಾವಿಯಾಗಿ ಪತ್ತೆಹಚ್ಚಲು ಮತ್ತು ನಿರ್ವಹಿಸಲು ಕ್ಯಾಚ್ ಹೇಳಿಕೆ ಒಂದು ಸೊಗಸಾದ ಮಾರ್ಗವಾಗಿದೆ.

ಇನ್ನಷ್ಟು ಕಲಿಕೆ

ರಚನಾತ್ಮಕ ಪ್ರಶ್ನೆ ಭಾಷೆ ಕುರಿತು ನೀವು ಇನ್ನಷ್ಟು ತಿಳಿದುಕೊಳ್ಳಲು ಬಯಸಿದರೆ , SQL ಗೆ ಪರಿಚಯವನ್ನು ಓದಿ.