2012-06-20 3 views
30

Ich versuche 50-100 Tabellen SYS abfragtWie erstellt man eine Tabelle mit SELECT-Abfrage in SQL Server?

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); 

So erstellen Tabelle aus SYS Tabellen-Abfragen führen zu machen?

+0

Erstellen Sie keine Tabelle pro Server. Erstellen Sie eine Tabelle, die Server als eine Spalte enthält und setzen Sie alle Informationen dort, markiert gegen den Server –

Antwort

-2

Ich weiß, es ist eine alte Frage, aber ich fand so etwas wie dieses und es funktioniert perfekt:

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

Syntax:

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>'); 

Ich hoffe, das jemand hilft.

+0

Sind Sie sicher, dass dies für Sie funktioniert? Ich habe versucht auf SQLServer und es mag diese Syntax nicht. t scheint CTAS existiert in SQLServer nach dem Dokument? –

+0

Es funktioniert gut in MariaDB und MySQL-Server. Ich habe nicht in anderen Servern getestet. " –

+0

Nun, die Frage sagt eindeutig" SQL Server ", so dass ich Es ist ein bisschen irreführend IMO. –

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

Dies sollte die akzeptierte Antwort sein :-) Es funktioniert in SQL Server, im Gegensatz zu dem, der jetzt akzeptiert wird (und hat -1 Score btw) – Skipper

+0

Die akzeptierte scheint mehr oder weniger gültig in SQL Data Warehouse, die auf der Microsoft-Plattform ist, aber immer noch nicht in SQL Server oder Azure SQL> :( https://docs.microsoft. com/de-de/azure/sql-data-warehouse/sql-data-warehouse-develop-ctas –

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

Sie könnten auf diese Weise tun.

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