בית
Top.Mail.Ru Yandeks.Metrika
פורום: "בסיסים";
ארכיון נוכחי: 2004.12.12;
הורדה: [xml.tar.bz2];

למטה

ערכי DEFAUL אינם פועלים מצא סניפים דומים


by ©   (2004-11-10 18:22) [0]

Firebird 1.5, IBExpert
יש שולחן
צור טבלה MT_USER (
MT_USER_ID T_REC_ID לא NULL / * T_REC_ID = BIGINT DEFULT 0 לא NULL * /,
LOGIN_NAME T_METADATA_NAME לא NULL / * T_METADATA_NAME = VARCHAR (31) DEFAULT "" לא NULL * /,
משפחה T_VARCHAR_32 לא NULL / * T_VARCHAR_32 = VARCHAR (32) DEVULT "" לא NULL * /,
FIRST_NAME T_VARCHAR_32 לא NULL / * T_VARCHAR_32 = VARCHAR (32) ברירת מחדל "לא NULL * /,
SO_NAME T_VARCHAR_32 לא NULL / * T_VARCHAR_32 = VARCHAR (32) מחדל "" לא NULL * /,
PATH_DOCS T_VARCHAR_250 לא NULL / * T_VARCHAR_250 = VARCHAR (250) ברירת מחדל "לא NULL * /,
MT_LANG_ID T_REF_ID לא NULL / * T_REF_ID = BIGINT DEFULT 0 לא NULL * /,
MT_MENU_ID T_REF_ID לא NULL / * T_REF_ID = BIGINT DEFULT 0 לא NULL * /,
FIO ממוחשב (FAMILY || "" || FIRST_NAME || "" || SO_NAME)
);

יש נוהל
צור נוהל MT_USER_I (
MT_USER_ID BIGINT,
LOGIN_NAME VARCHAR (31),
משפחה VARCHAR (32),
FIRST_NAME VARCHAR (32),
SO_NAME VARCHAR (32),
PATH_DOCS VARCHAR (250)
MT_LANG_ID BIGINT,
MT_MENU_ID BIGINT)
AS
הדגמה משתנה TMP_ID BIGINT;
התחל
INSERT IN MT_USER (
MT_USER_ID,
LOGIN_NAME,
משפחה,
FIRST_NAME,
SO_NAME,
PATH_DOCS,
MT_LANG_ID,
MT_MENU_ID)
VALUES (
: MT_USER_ID,
: LOGIN_NAME,
: משפחה,
: FIRST_NAME,
: SO_NAME,
: PATH_DOCS,
: MT_LANG_ID,
: MT_MENU_ID);
הסוף

בעת ביצוע בקשה כזו
הכנס ל- MT_USER (MT_USER_ID) VALUES (100)
הכל הולך בסדר את הרשומה הוא הוסיף, כל ערכי defull לעבוד

אבל כאשר עושים
נוהל ביצוע MT_USER_I (100, NULL, NULL, NULL, NULL, NULL, NULL)
קבל שגיאה
הכנס את אילוצי המתאם.
שגיאת אימות עבור העמודה LOGIN_NAME, הערך "*** null ***".
כלומר על השדה הראשון אשר לא צריך להיות ריק.

מה אני טועה, איפה הבאג?



by ©   (2004-11-10 18:23) [1]

בתיאוריה, בעת ביצוע הוספה באמצעות ההליך, ברירות מחדל צריך גם לעבוד



Reindeer Moss Eater ©   (2004-11-10 18:33) [2]

ברירות המחדל מופעלות רק כאשר השדות המוגדרים כברירת מחדל אינם מופיעים ב- Inster.
לאחר מכן, ברירות המחדל מוכנסות.

אם השדות רשומים ברשימה, אז מה שנכתב נשמע.



by ©   (2004-11-10 18:35) [3]

עיצוב זה גם גורם לאותה שגיאה.
INSERT IN MT_USER (
MT_USER_ID,
LOGIN_NAME,
משפחה,
FIRST_NAME,
SO_NAME,
PATH_DOCS,
MT_LANG_ID,
MT_MENU_ID)
VALUES (
100,
null
null
null
null
null
null
null);

כלומר כאשר שום דבר לא עבר, ברירות מחדל מופעלות, וכאשר אנו עוברים null, אז לא.

האם זה התנהגות סטנדרטית?



Reindeer Moss Eater ©   (2004-11-10 18:36) [4]

זוהי התנהגות סטנדרטית מאוד.



jack128 ©   (2004-11-10 18:37) [5]

(10.11.04 18: 35) [3]
האם זה התנהגות סטנדרטית?

כן.



by ©   (2004-11-10 18:37) [6]

[2] אייל אייל האיילים © (10.11.04 18: 33)
לא ראה בזמן הכתיבה.

ואז מתברר כי הנוהל על הכנס צריך להיות קשה יותר לכתוב, לבדוק ולבטל את כל הערכים ואת ברירת המחדל כפולים בהליך?



by ©   (2004-11-10 18:38) [7]

לבדוק עבור null



by ©   (2004-11-10 18:39) [8]

מהי הגישה הכללית לכתיבת נהלי SUID דומים? בדיקות כפולות או להשאיר הכל על השולחן לבדוק?



Reindeer Moss Eater ©   (2004-11-10 18:39) [9]

מתברר כי אתה צריך לקרוא בעיון את התיעוד.

חלקם, למשל, מופתעים כי המאפיינים של מחלקות עם שינוי ברירת המחדל ב הבנאי לא מאותחל על ידי ערכי ברירת המחדל שצוינו.



Reindeer Moss Eater ©   (2004-11-10 18:40) [10]

מהי הגישה הכללית לכתיבת נהלי SUID דומים?

הגישה היא סטנדרטית.
החלת תכונה, קראנו לראשונה על התכונה.



by ©   (2004-11-10 18:58) [11]

אייל אייל האיילים (10.11.04 18: 40)
וכיצד אתה משתמש בתכונה דומה - להעביר את כל הערכים או לבצע בדיקות בהליך?



Reindeer Moss Eater ©   (2004-11-10 19:01) [12]

אני לא משתמש בתכונה זו בעת עבודה עם מסד הנתונים מתוך היישום.
שכן הוא כמעט חסר תועלת.



by ©   (2004-11-10 19:02) [13]

תכונת ההבהרה שאנו מדברים עליה היא ערכי ברירת המחדל?



Reindeer Moss Eater ©   (2004-11-10 19:03) [14]

ואם לפעמים אני משתמש בו, ולאחר מכן ברשימה של מוסיף אין לי שדות עם ברירות מחדל.



Reindeer Moss Eater ©   (2004-11-10 19:03) [15]

תכונת ההבהרה שאנו מדברים עליה היא ערכי ברירת המחדל?

היא



by ©   (2004-11-10 19:04) [16]

ברור שהמצב ברור.
האם יש לך שדות עם ערכי null, או שאתה ממלא את כל char עם "", ואת מספר שלם למלא 0 מתוך היישום?



Reindeer Moss Eater ©   (2004-11-10 19:06) [17]

יש לי שדות עם אפסים.
ולא כל השדות מהבקשה שלי מלאים.



by ©   (2004-11-10 19:06) [18]

אני רואה, תודה.



Reindeer Moss Eater ©   (2004-11-10 19:11) [19]

זה הגיוני יותר לכתוב על ההדק ולעבד את ההיגיון העסקי תוכנן בו.
כברירת מחדל סוף סוף הוא אותו גורם



עמודים: 1 ענף שלם

פורום: "בסיסים";
ארכיון נוכחי: 2004.12.12;
הורדה: [xml.tar.bz2];

למעלה





זיכרון: 0.62 MB
זמן: 0.058 c
6-1092257951
Piter
2004-08-12 00:59
2004.12.12
לייעץ עם בחירה של רכיב לעבודה עם TCP


4-1099042237
היה
2004-10-29 13:30
2004.12.12
לדמות הקשות F2 לא על ידי key_event


1-1101368057
דוד
2004-11-25 10:34
2004.12.12
TwordApplication עבור גירסאות שונות של Worda


1-1101423144
ראנד
2004-11-26 01:52
2004.12.12
פרמטרים אופציונליים


1-1101371135
אינקוג
2004-11-25 11:25
2004.12.12
TreeView





אפריקאנס אלבני ערבי אַרְמֶנִי אזרביג'אן הבסקים בלארוסית בולגרי קטלאנית הסיני (פשוט) סינית (מסורתית) קרואטית צ'כיה דני הולנדי אנגלית אסטוני פיליפיני פיני צרפתית
גליציה גאורגיה גרמני יווני קריאולית האיטית עברי הינדי הונגרי איסלנדי אינדונזי אירי איטלקי יפני קוריאני לטבי ליטאי מקדוניה מלאית מלטזית נורבגי
פרסי פולני פורטוגזי רומנית רוסי סרבית סלובקי סלובני ספרדי סוואהילית שבדי תאילנדי תורכי אוקראיני אורדו ויאטנמית וולשית יידיש בנגלית בוסנית
קבואנו אספרנטו גוג'ראטית האוסה המונג איגבו יָאוָנִי קנאדה לחמר לאו הלטינית מאורים מרתי מונגולי נפאלית פונג'בית סומליה טמילית טלוגו יורובה
זולו
Английский Французский Немецкий Итальянский Португальский Русский Испанский