PDA

View Full Version : آموزش: دستورات sql



feree123
چهارشنبه 20 مرداد 1389, 10:07 صبح
در اینجا یکسری از دستورات sql گذاشتم که در کدنویسی کاربردهای زیادی دارند و من تنها نمونه ای از انها رو اوردم . help نرم افزار sql server اطلاعات بیشتری را در اختیار شما قرار میدهد . به امید انکه مورد استفاده دوستان قرار گیرد .

یافتن نام Instance فعال


SELECT CONVERT(char(20), SERVERPROPERTY('servername')) as Instance Name
یافتن نام سیستم


SELECT CONVERT(char(20), SERVERPROPERTY('MachineName') ) as serverName
SERVERPROPERTY دارای پارامترهای زیادی است که با تغییر ان می توان اطلاعات زیادی به دست اورد .
یافتن نام database
برای پیدا کردن نام database از این دستور می توانید استفاده کنید که ارگمانهای زیادی دارد . information_schema این دستور کاربردهای بیشتری دارد که با جستجوی بیشتر اطلاعات بیشتری پیدا میکنید .


SELECT table_catalog'tablecatalog' FROM information_schema.columns WHERE table_name = 'نام جدول'
یافتن نام فیلدها ، نوع ، سایز و...



SELECT column_name 'Column Name',
data_type 'Data Type',
CHARacter_maximum_length 'Maximum Length'
FROM information_schema.columns
WHERE table_name = 'نام جدول'

فارسی کردن فیلدها
برای این کار می توان از قسمت توضیحات که در زمان طراحی برای هر فیلد وجود دارد استفاده کرد . در این حالت نام فیلدها را به همراه فیلد توضیحات برای شما می اورد .




select a.value,b.name from sysproperties a full Join syscolumns b
on )a.smallid=b.colid) and ( a.id=b.id ) where
b.id in (Select id from sysobjects where name ='نام جدول'(

یافتن refrence های یک جدول
اگر یک جدول به چنیدین جدول دیگر ارتباط داشته باشد برای فهمیدن این موضوع از دستور زیر استفاده کنید .



select * from sysobjects where parent_obj in )select id from sysobjects where name='نام جدول'(
select * from sysreferences where Constid=' ای دی نتیجه قبل را قرار میدهیم در اینجا ' --constid in refrences = id into sysobjects
select * from sysobjects where id=' rkeyid نتیجه قبل را گذاشت در اینجا باید '


برقراری ارتباط بین دو instance
برای این کار در خود sql در قسمت security بر روی Linked Server کلیک راست کرده و گزینه New Linked Server را میزنیم در سربرگ General در مکان Linked Server نام سروری را که می خواهیم به ان متصل شویم را وارد میکنیم و از قسمت Server Type باید Sql Server را انتخاب کنیم و در سربرگ security قسمت Be Made using this security contex را انتخاب و در قسمت Remote login کلمه sa و در قسمت With password کلمه عبور خود را وارد کنید این کار را در هر دو instance انجام دهید . این عمل را با کد زیر نیز می توانید انجام دهید به جای instance name نام instance خود را بگذارید .



USE master
GO
EXEC sp_addlinkedserver
'instance name',
N'SQL Server'
GO
و یا به صورت

USE masterGOEXEC sp_addlinkedserver 'instance name', '', 'MSDASQL', NULL, NULL, 'DRIVER={SQL Server};SERVER=MyServer;UID=sa;PWD=;'GO

حالا ازinstance که در ان قرار دارید به instance دیگری که لینک شده اید دسترسی دارید به عنوان مثال :


select * from[instance name].database name .dbo.table name
select * from [server\Test].Anbar.dbo.test2

براقراری ارتباط با اراکل



USE master
GO
-- To use named parameters:
EXEC sp_addlinkedserver
@server = 'LONDON Mktg',
@srvproduct = 'Oracle',
@provider = 'MSDAORA',
@datasrc = 'MyServer'
GO
-- OR to use no named parameters:
USE master
GO
EXEC sp_addlinkedserver
'LONDON Mktg',
'Oracle',
'MSDAORA',
'MyServer'
GO

sh2007
چهارشنبه 20 مرداد 1389, 13:18 عصر
دوست من در رابطه با بازيابي اطلاعات هم مي توني كمك كني خودم و اكثر دوستان با اينمورد مشكل داريم

ghff802
چهارشنبه 20 مرداد 1389, 13:38 عصر
دوست من در رابطه با بازيابي اطلاعات هم مي توني كمك كني خودم و اكثر دوستان با اينمورد مشكل داريم

feree123
چهارشنبه 20 مرداد 1389, 17:20 عصر
دوست من در رابطه با بازيابي اطلاعات هم مي توني كمك كني خودم و اكثر دوستان با اينمورد مشكل داريم


خودم هم مشکل دارم
ولی دنبال جوابش هستم در اولین فرست براتون میذارم
ممنون