Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

मैं एक तालिका में गणना किए गए कॉलम कैसे निर्दिष्ट करूं जो SQL सर्वर में किसी अन्य कॉलम पर आधारित हैं?

हां, आप गणना करने के लिए एक उपयोगकर्ता-परिभाषित फ़ंक्शन बनाएंगे और गणना किए गए कॉलम की अभिव्यक्ति में उस उपयोगकर्ता-परिभाषित फ़ंक्शन का उपयोग करेंगे।

एक कार्यशील उदाहरण कुछ इस तरह होगा.....

CREATE TABLE TABLE1 (ID INT, VALUE INT)
GO
INSERT INTO TABLE1 VALUES (1 , 10), (2 , 20) , (3 , 30)
GO

CREATE FUNCTION dbo.udf_DefaultValue(@ID INT)
RETURNS INT
AS
BEGIN
    DECLARE @rtnValue INT;
    SELECT @rtnValue = VALUE *2 FROM TABLE1 WHERE ID = @ID
    RETURN @rtnValue;
END
GO

CREATE TABLE TABLE2 (ID INT
                  , VALUE INT
                  , ComputedColumn AS (VALUE * dbo.udf_DefaultValue(ID)) )
GO

INSERT INTO TABLE2 (ID , VALUE)
VALUES (1, 1)

SELECT * FROM TABLE2

/*****  Result Set  *****/

ID  VALUE   ComputedColumn
1     1           20


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर में डेटाबेस की आईडी वापस करने के लिए DB_ID () का उपयोग करें

  2. हर नौवें रिकॉर्ड की वापसी पंक्ति

  3. SQL तालिका में प्राथमिक कुंजी कॉलम जोड़ें

  4. दो प्रश्नों में से एक प्रश्न कर सकते हैं?

  5. SQL सर्वर डेटाबेस प्रतिकृति