سؤال

وكيفية تمرير القيم الافتراضية في بناء إدراج حدد في SQL؟

ولدي جدول:

    create table1 (field1 int, field2 int, field3 int default 1337)
    create table2 (field1 int, field2 int)

وأريد أن أدخل في table2 table1 مع البناء مشابهة لهذه:

    insert into table1 select field1, field2, DEFAULT from table2

هل من الممكن استخدام شيء بدلا من DEFAULT في بلدي على سبيل المثال لانجاز هذه المهمة القيام به؟ كيف يتم تحديده مسبقا الجداول عادة إدراجها مع القيم الافتراضية؟

هل كانت مفيدة؟

المحلول

وحاول

INSERT INTO table1 (field1, field2)
SELECT field1, field2 FROM table2

واختبرت هذا تستخدم SQL Server 2005

DECLARE @Table1 TABLE(
        field1 INT,
        field2 INT,
        field3 INT DEFAULT 1337
)

INSERT INTO @Table1 (field1,field2,field3) SELECT 1, 2, 3

DECLARE @Table2 TABLE(
        field1 INT,
        field2 INT
)

INSERT INTO @Table2 (field1,field2) SELECT 15, 16

INSERT INTO @Table1 (field1,field2)
SELECT  field1,
        field2
FROM    @Table2

SELECT * FROM @Table1
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top