SQL సర్వర్‌లో ఉన్నట్లయితే డ్రాప్ ఎలా ఉపయోగించాలి?



సమస్యలను తొలగించడానికి మా పరికరాన్ని ప్రయత్నించండి

ఈ వ్యాసం చర్చిస్తుంది “ఉన్నట్లయితే డ్రాప్ చేయండి” స్టేట్మెంట్ SQL సర్వర్ 2016 మరియు తరువాత వెర్షన్లలో అందుబాటులో ఉంది. “నిష్క్రమించినట్లయితే” ఇది SQL సర్వర్ 2016 మరియు తరువాత సంస్కరణల్లో ఇప్పటికే ఉన్న DROP స్టేట్‌మెంట్‌లో జోడించబడిన తాజా ఐచ్ఛిక నిబంధన. ముఖ్యంగా, ది “ఉన్నట్లయితే డ్రాప్ చేయండి” డేటాబేస్లో ఒక ఎంటిటీ సృష్టించబడిందా లేదా పడిపోతుందో లేదో తనిఖీ చేయాల్సిన అవసరం వచ్చినప్పుడు ఎంపిక ఉపయోగించబడుతుంది. ఈ సందర్భంలో, మేము మొదట ఉన్న డేటాబేస్ ఆబ్జెక్ట్‌ను డ్రాప్ చేసి, అవసరమైతే మార్పులతో పున ate సృష్టిస్తాము.



అందువల్ల, షరతు ఉంటే పాత వ్రాత విధానాన్ని ఇది నిరోధిస్తుంది మరియు ఒకవేళ ఒకవేళ ఒకవేళ ఒక స్టేట్మెంట్ రాసేటప్పుడు దానిని వదలడానికి వస్తువు ఉనికిని పరీక్షించడానికి. అది జరగకపోతే, బ్యాచ్‌లోని తదుపరి స్టేట్‌మెంట్ అమలులో కొనసాగుతుంది. కానీ మనం లేని వస్తువును వదలడానికి ప్రయత్నిస్తే అది క్రింద చూపిన విధంగా దోష సందేశాన్ని పెంచుతుంది.



కింది ప్రశ్నను అమలు చేయండి.



డ్రాప్ టేబుల్ dbo.company

అవుట్పుట్ ఇలా ఉంటుంది.

ఉనికిలో లేని డేటాబేస్ ఆబ్జెక్ట్‌ను వదిలివేసేటప్పుడు లోపం తలెత్తుతుంది

సింటాక్స్

“DROP ఆబ్జెక్ట్_టైప్ [IF EXISTS] ఆబ్జెక్ట్_పేరు”

వాదనలు

OBJECT_TYPE:



ఆబ్జెక్ట్ రకం డేటాబేస్, ట్రిగ్గర్, అసెంబ్లీ, సీక్వెన్స్, ఇండెక్స్, టేబుల్, ప్రొసీజర్ వ్యూ, ఫంక్షన్ మొదలైన వాటి నుండి ఎవరైనా కావచ్చు.

ఉనికిలో ఉంటే:

ఇది ఒక ఐచ్ఛిక నిబంధన మరియు ఇది DROP స్టేట్‌మెంట్‌లో ప్రస్తావించబడితే, అది ఆబ్జెక్ట్ యొక్క ఉనికిని తనిఖీ చేస్తుంది, అది ఉన్నట్లయితే అది పడిపోతుంది, లేకుంటే అది లోపాలను ఉత్పత్తి చేయకుండా బ్లాక్‌లో తదుపరి స్టేట్‌మెంట్‌ను అమలు చేస్తుంది.

ఇప్పుడు SQL సర్వర్ 2016 లో “DROP IF EXISTS” అనే కొత్త పద్దతిని ప్రవేశపెట్టడంతో డెవలపర్లు సంక్షిప్త కోడ్ రాయగలరు.

మొదట, “అనువర్తనం” అనే డేటాబేస్ సృష్టించండి.

డేటాబేస్ సృష్టిస్తోంది

ఇప్పుడు, మేము ఈ క్రింది కోడ్‌ను అమలు చేయడం ద్వారా వదిలివేయవలసిన పట్టికను సృష్టిస్తాము.

[appuals] ఉపయోగించండి టేబుల్ టెంప్ క్రియేట్ చేయండి (id INT, పేరు వర్చార్ (100%); వెళ్ళండి

అవుట్పుట్ ఈ క్రింది విధంగా ఉంటుంది.

పట్టిక సృష్టి

ఇంకా, కింది కోడ్‌ను ఉపయోగించి తొలగించాల్సిన స్టోర్ విధానాన్ని సృష్టించండి.

[అనువర్తనాలు] GO సెట్‌లో ANSI_NULLS ను సెట్ చేయండి QUOTED_IDENTIFIER GO GO PROCEDURE [dbo] ను సృష్టించండి. [Sp_temp] NOCOUNT ప్రారంభించినప్పుడు; Dbo.temp నుండి ఎంచుకోండి *; END

అవుట్పుట్ క్రింద ఉంటుంది.

స్టోర్ విధానం సృష్టి

పాత పద్ధతి: డేటాబేస్ వస్తువులపై నిష్క్రమించినట్లయితే డ్రాప్ ఉపయోగించి SQL సర్వర్‌కు ముందు

SQL సర్వర్ 2016 కి ముందు DROP IF EXISTS పద్ధతిని ఉపయోగించడం సుదీర్ఘ IF స్టేట్మెంట్ రేపర్స్ కోడ్ రాయడం అవసరం.

ఉన్నట్లయితే పట్టికను వదలండి

పట్టికను వదలడానికి ముందు పద్ధతి ఈ క్రింది విధంగా ఉంటుంది.

మేము SQL సర్వర్ 2015 ను ఉపయోగిస్తుంటే లేదా అంతకంటే తక్కువ ముందుగానే మేము ఈ క్రింది కోడ్‌ను అమలు చేయాలి.

(OBJECT_ID ('dbo.temp') శూన్యంగా లేకపోతే) టేబుల్ టెంప్ డ్రాప్ చేయండి

అవుట్పుట్ ఈ క్రింది విధంగా ఉంటుంది.

పట్టికను వదలడం

ఇప్పుడు దాని వాక్యనిర్మాణం చాలా గందరగోళంగా ఉంది, కాబట్టి మీకు నచ్చకపోతే మరియు మీరు SQL సర్వర్ 2016 లేదా అంతకంటే ఎక్కువ ఉపయోగిస్తుంటే పెద్ద రేపర్లకు బదులుగా సాధారణ డ్రాప్ IF EXIST స్టేట్మెంట్ కోసం వెళ్ళవచ్చు.

స్టోర్ విధానం ఉంటే డ్రాప్ చేయండి:

విధానాన్ని వదిలివేయడానికి, స్టోర్ విధానం ఉందో లేదో తనిఖీ చేయడానికి మేము షరతులతో కూడిన స్టేట్మెంట్ రాయాలి, ఆపై డ్రాప్ స్టేట్మెంట్ రాయండి. లేకపోతే, నిల్వ చేసిన విధానం లేనప్పుడు అది లోపం పెంచుతుంది.

ఇప్పుడు SQL సర్వర్ 2016 కన్నా తక్కువ వెర్షన్లలో విధానాన్ని వదలడానికి క్రింది స్టేట్‌మెంట్‌లను అమలు చేయండి.

IF EXISTS (sys.procedures నుండి 1 ఎంచుకోండి పేరు = 'sp_temp') డ్రాప్ ప్రొసీడర్ dbo.sp_temp

అవుట్పుట్ ఇలా ఉంటుంది.

రేపర్ కోడ్ ఉంటే పాత పద్ధతిని ఉపయోగించి విధానాన్ని వదలండి

ఉన్నట్లయితే డేటాబేస్ డ్రాప్ చేయండి:

మీరు SQL సర్వర్ యొక్క మునుపటి సంస్కరణలను ఉపయోగిస్తుంటే, డేటాబేస్ను వదలడానికి మీరు ఈ క్రింది కోడ్‌ను అమలు చేయాలి.

DB_ID ('appuals') NULL BEGIN DROP DATABASE appuals END

అవుట్పుట్ ఈ క్రింది విధంగా ఉంటుంది.

పాత పద్ధతిని ఉపయోగించి డేటాబేస్ను వదలండి

క్రొత్త పద్ధతి: SQL సర్వర్ 2016 మరియు అంతకంటే ఎక్కువ సంస్కరణలో మద్దతు ఉన్నట్లయితే డ్రాప్ చేయండి

SQL సర్వర్ 2016 లో డేటాబేస్ ఆబ్జెక్ట్‌ను వదలడానికి మరియు అంతకంటే ఎక్కువ మనం ఒక సాధారణ స్టేట్‌మెంట్‌ను అమలు చేయాలి.

ఉన్నట్లయితే పట్టికను వదలండి:

నిల్వ చేసిన పట్టిక ఉన్నట్లయితే దాన్ని తీసివేయడానికి మేము SQL సర్వర్ 2016 లో క్రింద ఒక ప్రకటన రాయవచ్చు.

ఉన్నట్లయితే టేబుల్ డ్రాప్ చేయండి dbo.temp

అవుట్పుట్ ఇలా ఉంటుంది.

క్రొత్త పద్ధతిని ఉపయోగించి పట్టికను వదలండి

ఉన్నట్లయితే డ్రాప్ విధానం:

ఇప్పుడు మేము ఈ క్రింది కోడ్‌ను అమలు చేయడం ద్వారా వ్యాసం ప్రారంభంలో సృష్టించిన నిల్వ విధానాన్ని వదిలివేస్తాము.

EXISTS dbo.sp_temp ఉంటే డ్రాప్ విధానం

అవుట్పుట్ క్రింద ఉంటుంది.

క్రొత్త పద్ధతిని ఉపయోగించి పట్టికను వదలండి

వాక్యనిర్మాణానికి సంబంధించినంతవరకు, ఈ సరళమైన ప్రకటన అర్థం చేసుకోవడం సులభం మరియు గుర్తుంచుకోవడం సులభం. అదేవిధంగా, ఇతర డేటాబేస్ వస్తువులను వదలడానికి మేము అదే విధానాన్ని అనుసరించవచ్చు.

ఉన్నట్లయితే డేటాబేస్ డ్రాప్ చేయండి:

చెక్ ఉనికిలో ఉంటే ఉపయోగించి డేటాబేస్ డ్రాప్ చేయాలనుకుంటే కింది కోడ్‌ను అమలు చేయండి

ఉనికిలో ఉన్నట్లయితే మాస్టర్ గో డ్రాప్ డేటాబేస్ ఉపయోగించండి

అవుట్పుట్ క్రింద ఉంటుంది.

క్రొత్త పద్ధతిని ఉపయోగించి డేటాబేస్ను వదలండి

ఈ పద్ధతిని ఉపయోగించడం వల్ల ప్రయోజనం ఏమిటంటే, డేటాబేస్ ఉనికిలో లేకుంటే అది ఏ లోపం కలిగించదు, బ్యాచ్‌లోని తదుపరి స్టేట్‌మెంట్ అమలులో కొనసాగుతుంది. ఇప్పటికే పడిపోయిన డేటాబేస్ను తిరిగి వదలడానికి ప్రయత్నిద్దాం.

ఇప్పటికే పడిపోయిన డేటాబేస్ను తిరిగి వదలేటప్పుడు లోపం తలెత్తుతుంది.

అదేవిధంగా, మేము డేటాబేస్ నుండి సూచికలు, వీక్షణలు, సన్నివేశాలు, సమావేశాలు మొదలైనవాటిని వదలవచ్చు.

3 నిమిషాలు చదవండి