คำถามติดแท็ก default-value


5
ฉันจะใช้ค่าเริ่มต้นในแบบสอบถามแบบใช้เลือกข้อมูลใน PostgreSQL ได้อย่างไร
ฉันต้องการใช้ค่าเริ่มต้นสำหรับคอลัมน์ที่ควรใช้หากไม่มีการส่งคืนแถว เป็นไปได้ใน PostgreSQL? ฉันจะทำมันได้อย่างไร หรือมีวิธีอื่นที่ฉันสามารถแก้ไขได้? เช่นบางสิ่งเช่นนี้ SELECT MAX(post_id) AS max_id DEFAULT 0 FROM my_table WHERE org_id = 3 และถ้าไม่มีแถวที่มีในตารางผมต้องการที่จะกลับมาorg_id = 30

2
ข้อ จำกัด ค่าเริ่มต้นคุ้มค่าหรือไม่
ฉันมักจะออกแบบฐานข้อมูลตามกฎต่อไปนี้: ไม่มีใครอื่นนอกจาก db_owner และดูแลระบบสามารถเข้าถึงตารางฐานข้อมูล บทบาทของผู้ใช้จะถูกควบคุมที่ชั้นแอปพลิเคชัน ฉันมักจะใช้บทบาท db หนึ่งรายการเพื่อให้สิทธิ์เข้าถึงมุมมองโพรซีเดอร์และฟังก์ชันที่เก็บไว้ แต่ในบางกรณีฉันเพิ่มกฎที่สองเพื่อปกป้องโพรซีเดอร์ที่เก็บไว้บางส่วน ฉันใช้ TRIGGERS เพื่อตรวจสอบข้อมูลที่สำคัญในขั้นต้น CREATE TRIGGER <TriggerName> ON <MyTable> [BEFORE | AFTER] INSERT AS IF EXISTS (SELECT 1 FROM inserted WHERE Field1 <> <some_initial_value> OR Field2 <> <other_initial_value>) BEGIN UPDATE MyTable SET Field1 = <some_initial_value>, Field2 = <other_initial_value> ... END DML ดำเนินการโดยใช้กระบวนงานที่เก็บไว้: …

2
ไม่สามารถกำหนดวันที่เป็น CURRENT_TIMESTAMP ใน MySQL 5.5 ได้
ฉันไม่สามารถตั้งCurrent_timestampเป็นค่าเริ่มต้นได้ ฉันรุ่นMysql5.5.47 ข้อความค้นหาคือ ALTER TABLE `downloads` ADD `date` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ; mysql V5.6.56ในขณะที่มันทำงานได้ดีบนฐานข้อมูลท้องถิ่นของฉันด้วย

2
ทำไมฉันไม่สามารถใช้ NEWSEQUENTIALID () เป็นค่าเริ่มต้นสำหรับคอลัมน์ของฉันได้
ฉันกำลังพยายามสร้างตารางใน Management Studio และหลังจากอ่านเกี่ยวกับNEWSEQUENTIALID()ฟังก์ชั่นใหม่ (จาก SQL 2005 เป็นต้นไป) คิดว่าฉันจะเลิกใช้แล้ว นี่คือสิ่งที่ฉันทำ: แต่มันไม่ให้ฉัน ข้อความแสดงข้อผิดพลาดที่ฉันได้รับคือ: 'FormTemplate (Forms)' table - Error validating the default for column 'FormTemplateId'. ฉันไม่มีเคล็ดลับที่นี่หรือไม่ ฉันใช้ SQL Server 2008 R2 แน่นอน

1
มีวิธีแทรกหลายแถวในตารางที่มีค่าเริ่มต้นสำหรับคอลัมน์ทั้งหมดหรือไม่
ฉันสามารถแทรกหลายแถวลงในตารางที่มีค่าเริ่มต้นสำหรับคอลัมน์ทั้งหมดด้วยวิธีRBAR : create table course(course_id serial primary key); do $$ begin for i in 1..100000 loop insert into course default values; end loop; end;$$; มีวิธีการทำเช่นเดียวกันกับคำสั่ง SQL เดียวหรือไม่


2
วิธีสร้างคอลัมน์ในฐานข้อมูลด้วยสตริงสุ่มค่าเริ่มต้น
ฉันสามารถสร้างคอลัมน์ในตาราง DB (PostgreSQL) ซึ่งมีค่าเริ่มต้นสตริงแบบสุ่มได้อย่างไร หากเป็นไปไม่ได้โปรดแจ้งให้เราทราบ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.