نمایش نتایج 1 تا 11 از 11

نام تاپیک: کلیدهای خارجی(1)

  1. #1
    کاربر دائمی
    تاریخ عضویت
    شهریور 1382
    محل زندگی
    عالم ماده
    پست
    977

    کلیدهای خارجی(1)

    دو تا جدول هستند که لازمست بین آنها Relationship ایجاد نمود:


    if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[tblUrl]'&#4 1; and OBJECTPROPERTY(id, N'IsUserTable') = 1)
    drop table [dbo].[tblUrl]
    GO

    CREATE TABLE [dbo].[tblUrl] (
    [username] [nvarchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
    [url] [varchar] (256) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL
    ) ON [PRIMARY]
    GO


    جدول دوم:
    if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[tblUserAccounts  ]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
    drop table [dbo].[tblUserAccounts]
    GO

    CREATE TABLE [dbo].[tblUserAccounts] (
    [UserId] [int] IDENTITY (1, 1) NOT NULL ,
    [Username] [nvarchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
    [Password] [nvarchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
    [email] [nvarchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
    [StudentCode] [int] NULL ,
    [SignDate] [nchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
    ) ON [PRIMARY]
    GO


    ok
    دقت بفرمایید بین username که در هر دو تا هست را باید کلید خارجی کنیم.
    الف-در tblUserAccounts ما username کاملا یکتا باید داشته باشیم اما در tblurl اصلا نباید یونیک باشه.
    1-آیا چنین کاری ممکنه؟
    2-چرا در محیط Enterprise پیغام خطا می ده؟

    3-با T-Sql چونه می توانم همین کار را انجام بدهم؟

  2. #2
    کاربر دائمی آواتار vadood
    تاریخ عضویت
    فروردین 1382
    محل زندگی
    تهران
    پست
    858
    اگر توی جدول دوم فیلد UserAccounts را Primary Key کنی مشکلت حی می شه.

    اما Primary Key کردن فیلدی از نوع<span dir=ltr> varchar(50)</span> خیلی کار خوبی نیست.

  3. #3
    کاربر دائمی
    تاریخ عضویت
    شهریور 1382
    محل زندگی
    عالم ماده
    پست
    977
    اگر توی جدول دوم فیلد UserAccounts را Primary Key کنی مشکلت حی می شه.
    چنین فیلدی وجود ندارد!!!!







  4. #4
    کاربر دائمی آواتار vadood
    تاریخ عضویت
    فروردین 1382
    محل زندگی
    تهران
    پست
    858
    اگر توی جدول دوم فیلد UserAccounts را Primary Key کنی مشکلت حی می شه.
    ببخشید باید می گفتم
    اگر توی جدول tblUserAccounts فیلد UserName را Primary Key کنی مشکلت حی می شه
    در ضمن توی جدول اولی اونو از PK بودن در آر.
    اما چرا نمیشه، فکر نمی کنی متن پیغام خطا چیز بیشتری داره که توی عکس های شما دیده نمیشه؟

  5. #5
    کاربر دائمی
    تاریخ عضویت
    شهریور 1382
    محل زندگی
    عالم ماده
    پست
    977
    آنچه فرمودید را انجام دادم و ایرادی نگرفت.تشکر :!:
    1-برای اینزرت 22 کووری متفاوت در یک آن (بر فرض درون همین 2 جدول )بهترین راهکار کدامست؟
    الف-نوشتن SP
    ب-؟

  6. #6
    کاربر دائمی آواتار vadood
    تاریخ عضویت
    فروردین 1382
    محل زندگی
    تهران
    پست
    858
    یک یونیون از اون 22 کویری

  7. #7
    کاربر دائمی
    تاریخ عضویت
    شهریور 1382
    محل زندگی
    عالم ماده
    پست
    977
    The UNION operator allows you to combine the results of two or more SELECT statements into a single result set. The result sets combined using UNION must all have the same structure. They must have the same number of columns, and the corresponding result set columns must have compatible data types.


    This query creates a UNION between the tables&#58;

    SELECT * FROM Table1
    UNION
    SELECT * FROM Table2


    1-عنایت بفرمایید نمونه ای از اینزرت بنویسید.
    2-چرا SP پیشنهاد نمی کنید؟

  8. #8
    کاربر دائمی آواتار vadood
    تاریخ عضویت
    فروردین 1382
    محل زندگی
    تهران
    پست
    858

    INSERT INTO MyTable &#40;PriKey, Description&#41;
    SELECT ForeignKey, Description
    FROM SomeView

    حالا با جای این یه select شما هر چند تا را که می خواهی یونیون کن

  9. #9
    کاربر دائمی
    تاریخ عضویت
    شهریور 1382
    محل زندگی
    عالم ماده
    پست
    977
    بله خیلی جالب بود.
    حالا در جدول tblurl بدون در نظر گرفتن دیگر جداول 22 تا کویری بصورت زیر منتها با تغییر مقدار url در هر کویری لازم دارم:
    INSERT INTO tblUrl&#40;Username,url&#41; " +
    "VALUES&#40;@username,'http&#58;//localhost/School/AdminBestStudent/AddStudent.aspx

    ببینید اصل ماجرا اینه که در قالب چک باکسهایی که تیک می خورند قرار است به کاربران مجوز بدهیم(که همان url می باشد)
    ممکنه کاربری با یک یوزرنیم 22 تا مجوز مجزا داشته باشه .
    به این معنی که 22 تا کویری نظیر آنچه نوشته شده لازم باشد.حالا پیشنهاد شما چی هست؟ :roll:

  10. #10
    کاربر دائمی
    تاریخ عضویت
    شهریور 1382
    محل زندگی
    عالم ماده
    پست
    977
    :oops:

  11. #11
    کاربر دائمی آواتار vadood
    تاریخ عضویت
    فروردین 1382
    محل زندگی
    تهران
    پست
    858
    من پیشنهادی ندارم! جز این که سوال را نمی فهمم. خوب دیگه برنامه تون را چه جوری می خواین بنونیسین را که من نمی تونم نظر بدم

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •