PDA

View Full Version : (unique) برای چی اجرا نمیشه ؟



bmanfy
سه شنبه 19 آبان 1388, 10:09 صبح
سلام دوستان .
از SqlServee 2005 Express Edition استفاده می کنم .
کد زیر برای چی اجرا نمیشه ؟


Select Sid
From S
Where Unique(Select Sid
From Sp
Where S.SId=Sp.Sid)

Hamid.Kad
سه شنبه 19 آبان 1388, 18:13 عصر
چه خطایی میده ؟ من اس کیو ال ندارم
این عملگر unique چه کاری انجام میده؟ من تا حالا همچین عملگری ندیدم
برای تعریف یکتایی فیلدها در تعریف ایندکسها از unique استفاده میشه

bmanfy
چهارشنبه 20 آبان 1388, 08:27 صبح
در صورتی که سطری تکراری در رابطه ای که ایجاد میشه باشه مقدار False و در غیر این صورت مقدار True بر میگردونه.

Hamid.Kad
چهارشنبه 20 آبان 1388, 11:29 صبح
من توی Books Online چیزی پیدا نکردم. دوستان کسی نظری نداره؟

pourang_us
چهارشنبه 20 آبان 1388, 12:14 عصر
دوست عزیز

درود

میشه بگی میخوای چی کار بکنی با این اسکریپت یا بهتره بگم میخوای این اسکریپت برات پی کار بکنه


موفق باشی

bmanfy
چهارشنبه 20 آبان 1388, 16:13 عصر
والا از این اسکریپت در موارد زیادی میشه استفاده کرد.
اما اینکه از کجا این اسکریپت رو پیدا کردم باید بگم در کلاس درس. اما رو هر ورژنی که میزنم کار نمیکنه که نمیکنه .
جالبه که خیلی از شما دوستان بهش بر نخوردین تا به حال .

محمد سلیم آبادی
پنج شنبه 21 آبان 1388, 00:43 صبح
کلید واژه ی Unique برای ایجاد قیود کلید های یکتا روی ستون های جدول استفاده شده و نیز برای مشخص کردن یک Index از نوع یکتا. ولی به عنوان یک Operator در یک عبارت Select نمی توان مورد استفاده قرار گیرد.
باید Query زیر جواب مورد نیاز را بدهد:


Select Sid
From S as a
Where (Select Count(*)
From Sp as b
Where a.SId = b.SId) = 1

Hamid.Kad
پنج شنبه 21 آبان 1388, 09:57 صبح
البته شاید DBMS های دیگه غیر از SQL Server همچین عملگری رو پیاده سازی کرده باشند ولی قدر مسلم اینه که این عملگر توی SQL استاندارد وجود نداره