سؤال

أنا أعمل في Visual Studio وأستخدم مدير SQL المدمج في الاستوديو.أقوم الآن بالاتصال بالعديد من قواعد البيانات وأود بشدة أن أتمكن من حفظ استعلامات SQL الخاصة بي وفتحها مع السماح لهم بالوصول إلى قاعدة البيانات والجدول الصحيحين.

لذا:

Database servers:
db.company.com
    databasenumber1
    databasenumber2
    databasenumber3
db2.company.com
    databasenumber1
    databasenumber2
    databasenumber3
db3.company.com
    databasenumber1
    databasenumber2
    databasenumber3

الآن أود أن أكتب استعلام SQL يفعل شيئًا بسيطًا، دعنا نقول:

select * from users where userid = '12';

ومع ذلك أريد تحديد هذا من database server db2 و من database databasenumber3.

كيف أكتب ذلك في use إفادة؟أم أن هناك شيئًا آخر غير "الاستخدام"؟؟

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

المحلول

يتطلب العمل بين عدة قواعد بيانات في ملف نصي واحد استخدامًا متبوعًا ببيان GO.

USE db1;
GO

SQL statements ...
...


USE db2;
GO

SQL statements ...
...

خيار آخر هو الاستخدام server.dbname.tablename التنسيق ولكن هذا يتطلب بشكل صارم استضافة جميع قواعد البيانات الخاصة بك على نفس الخادم.

SELECT * FROM server.db1.table1  
SELECT * FROM server.db2.table2
...
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top