لقد أردت إنشاء جدول من نتيجة الاستعلام المحددة في SQL Server ، لقد حاولت
create table temp AS select.....
لكني حصلت على خطأ
بناء جملة غير صحيح بالقرب من الكلمة الأساسية "AS"
استخدم بناء الجملة التالي لإنشاء جدول جديد من الجدول القديم في SQL Server 2008
Select * into new_table from old_table
استخدم SELECT...INTO
عبارة SELECT INTO تنشئ جدولًا جديدًا وتعبئته بمجموعة نتائج عبارة SELECT. SELECT INTO يمكن استخدامها لدمج البيانات من عدة جداول أو طرق عرض في جدول واحد. يمكن استخدامه أيضًا لإنشاء جدول جديد يحتوي على بيانات محددة من خادم مرتبط.
مثال،
SELECT col1, col2 INTO #a -- <<== creates temporary table
FROM tablename
بناء الجملة القياسي ،
SELECT col1, ....., [email protected] -- <<== select as many columns as you want
INTO [New tableName]
FROM [Source Table Name]
يرجى توخي الحذر ، MSSQL: "SELECT * INTO NewTable FROM OldTable"
ليس دائمًا هو نفسه MYSQL: "create table temp AS select.."
أعتقد أن هناك مناسبات عندما لا يضمن هذا (في MSSQL) أن تكون كافة الحقول في الجدول الجديد من نفس النوع القديم.
فمثلا :
create table oldTable (field1 varchar(10), field2 integer, field3 float)
insert into oldTable (field1,field2,field3) values ('1', 1, 1)
select top 1 * into newTable from oldTable
لا تسفر دائمًا عن:
create table newTable (field1 varchar(10), field2 integer, field3 float)
ولكن قد يكون:
create table newTable (field1 varchar(10), field2 integer, field3 integer)
حاول استخدام SELECT INTO ....
SELECT ....
INTO TABLE_NAME(table you want to create)
FROM source_table
أرجوك حاول:
SELECT * INTO NewTable FROM OldTable
حدد [أسماء الحقول] في [جدول جديد] من [جدول المصدر]