ورود

View Full Version : ليست جداول بانك اطلاعاتي SQL رو چه جوري با كد در بيارم ؟



omid_2009
جمعه 17 اردیبهشت 1389, 21:50 عصر
سلام
من مي خوام ليست جدول هايي كه تو بانك اطلاعاتي دارم رو مي خوام از طريق يه كد يا اسكريپت به دست بيارم ، چه طوري ؟
خيلي مهمه لطفا كمك كنيد ؟

nafasak
جمعه 17 اردیبهشت 1389, 22:30 عصر
سلام
من مي خوام ليست جدول هايي كه تو بانك اطلاعاتي دارم رو مي خوام از طريق يه كد يا اسكريپت به دست بيارم ، چه طوري ؟
خيلي مهمه لطفا كمك كنيد ؟

سلام ،

اینو امتحان کن،


create procedure [dbo].[GetTables]
as
select 'TableName' = [name]
from sysobjects
where xtype = 'U'

omid_2009
جمعه 17 اردیبهشت 1389, 23:35 عصر
create procedure [dbo].[GetTables]
as
select'TableName'= [name]
from sys.objects
where x.type ='U'

چند تا ايراد كوچيك داشت رفع شد

ولي يه ايرادداره كه درست نميشه و خطاي زير رو ميده :




Msg 2812, Level 16, State 62, Line 1
Could not find stored procedure 'type'.

saied_genius
شنبه 18 اردیبهشت 1389, 00:09 صبح
در حالت کلي ، پس از انتخاب ديتابيس مورد نظر ، کد زير را اجرا کنيد:


select 'TableName'= [name]
from sys.objects
where type='U'

ولي اگر مي خواهيد که stored procedure بسازيد و سپس آنرا فراخواني کنيد:


create procedure [dbo].[GetTables]
as
select'TableName'= [name]
from sys.objects
where type='U'

موفق باشيد.

mojtaba_e
شنبه 18 اردیبهشت 1389, 00:23 صبح
select * from <DataBaseNam>.sys.tables

محمد سلیم آبادی
شنبه 18 اردیبهشت 1389, 14:13 عصر
سلام
من مي خوام ليست جدول هايي كه تو بانك اطلاعاتي دارم رو مي خوام از طريق يه كد يا اسكريپت به دست بيارم ، چه طوري ؟
خيلي مهمه لطفا كمك كنيد ؟

USE database_name_here
SELECT table_name FROM infromation_schema.tables

omid_2009
شنبه 18 اردیبهشت 1389, 18:29 عصر
خيلي عالي بود ممنون .
حالا يه اسكريپت مي خوام كه اطلاعات مر بوط به فيلد هاي يه جدول رو برگردونه . مثل نام فيلد و نوع فيلد و ...

saied_genius
شنبه 18 اردیبهشت 1389, 20:50 عصر
select column_name,* from information_schema.columns
where table_name = 'YourTableName'
order by ordinal_position

موفق باشيد.

saied_genius
شنبه 18 اردیبهشت 1389, 20:52 عصر
اين هم براي نام تمامي table ها با تمام field هاي ديتابيس مورد نظر:


select t.name as TableName, c.name as ColumnName from sys.columns c
inner join sys.tables t on c.object_id = t.object_id
order by t.name

موفق باشيد.

محمد سلیم آبادی
یک شنبه 19 اردیبهشت 1389, 00:21 صبح
به جای کوئری قبلی از این کوئری هم می توانید استفاده کنید:


SELECT * FROM INFORMATION_SCHEMA.TABLES t1
INNER JOIN INFORMATION_SCHEMA.COLUMNS t2
ON t1.TABLE_NAME = t2.TABLE_NAME

omid_2009
یک شنبه 19 اردیبهشت 1389, 11:54 صبح
از اين كه راهنمايي ايم كرده ايد ممنونم .

حالا يه سوال ؟؟؟

من مي خوام اطلاعات بانك اطلاعاتي خودم رو روي سرور اينترنتي خودم كپي كنم .
آيا اسكريپتي وجود داره كه تمامي داده ها رو بين دو سرور كي كنه ؟؟؟

saied_genius
یک شنبه 19 اردیبهشت 1389, 12:07 عصر
اگر ديتابيست روي sqlexpress هست ، از sqlpubwiz استفاده کن و ديتابيس رو با تمام اطلاعات به صورت script کن و بر روي سرور اجرا کن.

موفق باشيد.

omid_2009
یک شنبه 19 اردیبهشت 1389, 16:46 عصر
اگر ديتابيست روي sqlexpress هست ، از sqlpubwiz استفاده کن و ديتابيس رو با تمام اطلاعات به صورت script کن و بر روي سرور اجرا کن.

موفق باشيد.

حالا اين sqlpubwiz كه گفتي چي هستش ؟ چه جوري استفاده مي شه كرد ؟

saied_genius
یک شنبه 19 اردیبهشت 1389, 17:32 عصر
http://barnamenevis.org/forum/showthread.php?t=187384&highlight=sqlpubwiz

موفق باشيد.