के साथ वैकल्पिक तालिका किसी अन्य तालिका (विभाग) की प्राथमिक कुंजी की डिफ़ॉल्ट बाधा के साथ एक तालिका (कर्मचारी) में एक कॉलम (MSSQL 2005) जोड़ने का प्रयास कर रहा हूं। तब मैं इस कॉलम को उस तालिका में एक एफके बनाने जा रहा हूं। अनिवार्य रूप से यदि कोई विभाग आईडी प्रदान नहीं किया जाता है तो यह विभाग के नाम के आधार पर नए कर्मचारियों को आधार विभाग को सौंपेगा।
यह काम नहीं करता है:प्रोग्रामेटिक रूप से निर्धारित निरंतर DEFAULT मान
DECLARE @ErrorVar INT
DECLARE @DepartmentID INT
SELECT @DepartmentID = DepartmentID
FROM Department
WHERE RealName = 'RocketScience'
ALTER TABLE [Employee]
ADD [DepartmentID] INT NULL
CONSTRAINT [DepartmentIDOfAssociate] DEFAULT (@DepartmentIDAssociate)
SELECT @ErrorVar = @@Error
IF (@ErrorVar <> 0)
BEGIN
GOTO FATAL_EXIT
END
उत्पादन, परीक्षण और विकास डेटाबेस सिंक से बाहर हो गए और DepartmentName = 'RocketScience' के लिए DepartmentID या एक ही तो मैं नहीं करना चाहती नहीं हो सकता सिर्फ डेफॉल्ट (somenumber) कहने के लिए। मैं "तालिका तालिका कथन में वेरिएबल्स की अनुमति नहीं है" प्राप्त करना जारी रखता हूं इससे कोई फर्क नहीं पड़ता कि मैं किस तरह से समस्या पर हमला करता हूं।
ऐसा करने का सही तरीका क्या है? मैंने चयन कथन को घोंसले की कोशिश की है, जिसे "इस संदर्भ में सबक्वायरीज़ की अनुमति नहीं है। केवल अदिश भाव अनुमति दी जाती है। "
अलावा में, क्या वास्तव में महान मैं बजाय एक बयान में स्तंभ मान सकता है कर
{अशक्त परिवर्तन} {
मूल्यों अद्यतन}
होगा {रिक्त नहीं बदल}
कदम। मैंने VALUES कमांड के बारे में कुछ पढ़ा लेकिन इसे काम नहीं कर सका। धन्यवाद !!!
मैं कोशिश करूँगा लेकिन मैंने सोचा था कि प्रलेखन कहा केवल प्रणाली कार्यों की अनुमति दी ... –
कोशिश करो - मैंने किया था - (मेरे लिए काम किया एसक्यूएल सर्वर 2008 पर, कि है - लेकिन मैं यह 2005 के बीच बदल गया है संदेह और 2008) –
मैं आपका जवाब स्वीकार करता हूं यह बहुत अच्छा काम करता है! –