2012-06-20 3 views
30

Ben SYS neden SYS masaları sorgularından tablo oluşturmak için nasıl SQL Server'da seçme sorgusu kullanarak tablo nasıl oluşturulur?

SELECT windows_release, windows_service_pack_level, 
     windows_sku, os_language_version 
FROM sys.dm_os_windows_info OPTION (RECOMPILE);  -- DEĞİŞİRSE INSERT ETSIN AYNI ISE DEĞİŞMESİN 

-- Gives you major OS version, Service Pack, Edition, and language info for the operating system 

-- SQL Server Services information (SQL Server 2008 R2 SP1 or greater) 
SELECT servicename, startup_type_desc, status_desc, 
last_startup_time, service_account, is_clustered, cluster_nodename 
FROM sys.dm_server_services OPTION (RECOMPILE); 


-- Hardware information from SQL Server 2008 
-- (Cannot distinguish between HT and multi-core) 
SELECT cpu_count AS [Logical CPU Count], hyperthread_ratio AS [Hyperthread Ratio], 
cpu_count/hyperthread_ratio AS [Physical CPU Count], 
physical_memory_in_bytes/1048576 AS [Physical Memory (MB)], 
sqlserver_start_time --, affinity_type_desc -- (affinity_type_desc is only in 2008 R2) 
FROM sys.dm_os_sys_info OPTION (RECOMPILE); 

sorgular kullanarak 50-100 tablolar yapmaya?

+0

Sunucu başına bir tablo oluşturma. İçinde bir sütun olarak sunucu bulunan ve sunucuya işaretlenmiş tüm bilgileri içeren bir tablo oluşturun –

cevap

-2

Ben eski bir soru olduğunu biliyorum ama böyle bir şey buldum ve mükemmel çalışıyor:

CREATE TABLE resultTable AS(SELECT gdb.song AS vroar, 
gdb.song_description AS vdescription FROM googleDB gdb WHERE 
gdb.song_id = 'KP'); 

sözdizimi:

CREATE TABLE <ResultTable_Name> AS(SELECT <actual_table_property1> AS <alias1>, <actual_table_property2> AS <alias2> 
FROM <actual_table_name> WHERE <actual_table_property> = '<value>'); 

bu kimse yardımcı olur.

+0

Bunun sizin için çalıştığına emin misiniz? SQLServer üzerinde denedim ve bu sözdizimini sevmiyor. CTAS, SQLServer'da doc göre var gibi görünüyor –

+0

MariaDB ve MySQL sunucularında iyi çalışıyor. Diğer sunucularda test etmedim. –

+0

Soru, açıkça "SQL Server" diyor t biraz yanıltıcı IMO. –

52
select <column list> into <table name> from <source> where <whereclause> 
+0

Bu kabul edilen yanıt :-) olmalıdır SQL Sever'de, şu anda kabul edilenin aksine çalışır (ve -1 puan btw) – Skipper

+0

Kabul edilen bir tanesi, Microsoft platformunda bulunan SQL Data Warehouse'da, ancak SQL Server veya Azure SQL>> https://docs.microsoft'ta geçerli veya daha az geçerli gibi görünüyor. com/en-us/azure/sql-data-warehouse/sql-data-warehouse-development-ctas –

9
select <column list> into <dest. table> from <source table>; 

Bu şekilde yapabilirdi.

SELECT windows_release, windows_service_pack_level, 
     windows_sku, os_language_version 
into new_table_name 
FROM sys.dm_os_windows_info OPTION (RECOMPILE);