คำถามติดแท็ก ddl

ภาษานิยามข้อมูล การกำหนดโครงสร้างฐานข้อมูล แต่ไม่ใช่เนื้อหา

5
มีวิธีการตั้งเจ้าของวัตถุทั้งหมดในฐานข้อมูล PostgreSQL ในเวลาเดียวกัน?
/programming/1348126/modify-owner-on-all-tables-simultaneously-in-postgresqlอธิบายวิธีที่ดีในการเปลี่ยนตารางและวัตถุอื่น ๆ ให้กับผู้ใช้ที่เฉพาะเจาะจงและใช้งานได้ทั้งหมด คำแนะนำดูเหมือนจะไม่สนใจฟังก์ชั่นที่ฉันสร้างขึ้น มีวิธีที่ค่อนข้างง่ายในการรีเซ็ตเจ้าของวัตถุทั้งหมดในฐานข้อมูลรวมถึงฟังก์ชั่นหรือไม่? การทำด้วยมือเป็นสิ่งที่ไม่พึงปรารถนาอย่างมาก

3
เหตุใดจึงต้องใช้ master เพื่อสร้างฐานข้อมูล
ฉันมีคำถามสั้น ๆ เหตุใดฉันจึงใช้use master;เพื่อสร้างฐานข้อมูล นี่คือตัวอย่างจากเอกสารของ Microsoft USE master ; GO CREATE DATABASE Sales ON ( NAME = Sales_dat, FILENAME = 'C:\Program Files\...\saledat.mdf', SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5 ) LOG ON ( NAME = Sales_log, FILENAME = 'C:\Program Files\...\salelog.ldf', SIZE = 5MB, MAXSIZE = 25MB, FILEGROWTH = …


5
MySQL - วิธีที่เร็วที่สุดในการเปลี่ยนตารางสำหรับ InnoDB
ฉันมีตาราง InnoDB ที่ฉันต้องการแก้ไข ตารางมีแถว ~ 80M และออกจากไม่กี่ดัชนี ฉันต้องการเปลี่ยนชื่อของคอลัมน์ใดคอลัมน์หนึ่งและเพิ่มดัชนีอีกสองสามรายการ วิธีที่เร็วที่สุดที่จะทำคืออะไร (สมมติว่าฉันสามารถประสบแม้กระทั่งการหยุดทำงาน - เซิร์ฟเวอร์เป็นทาสที่ไม่ได้ใช้)? คำว่า "ธรรมดา" alter tableคือทางออกที่เร็วที่สุดหรือไม่? ในเวลานี้สิ่งที่ฉันสนใจคือความเร็ว :)

2
ฉันจะแมปเข้าสู่ระบบฐานข้อมูลโดยใช้ T-SQL (ไม่ใช่ SSMS) ได้อย่างไร
ฉันกำลังเขียนโปรแกรมที่กำหนดให้ฉันต้องกำหนดสิทธิ์ทั้งหมดและทุกอย่างเป็นรหัส ฉันติดค้างอยู่ในส่วนนี้: ฉันแค่ต้องการทำเทียบเท่ากับการคลิกกล่องเล็ก ๆ ใต้ "แผนที่" สำหรับฐานข้อมูล msdb และกำหนดผู้ใช้นั้นให้กับบทบาท SqlAgentUser ฉันต้องการให้ผู้ใช้งานสามารถเพิ่ม / แก้ไขงาน SQL Server Agent ได้ ฉันสามารถตั้งค่าได้อย่างถูกต้องโดยใช้ SSMS แต่ฉันทำไม่ได้ตลอดชีวิตว่าจะทำอย่างไรใน SQL แบบดิบ ฉันค้นหาALTER LOGIN แล้วแต่ไม่เห็นสิ่งใดที่ต้องการ ฉันสงสัยว่าฉันไม่ทราบเงื่อนไขที่ถูกต้องสำหรับ Google ปกติฉันจะไม่ทำสิ่งนี้ ความช่วยเหลือใด ๆ ที่ชื่นชมมาก!

2
ทำไมเราไม่สามารถเขียนคำสั่ง ddl ลงในบล็อก PL / SQL ได้โดยตรง
ทำไมเราไม่สามารถเขียนคำสั่ง ddl ได้โดยตรงใน PL / SQL block เช่นเมื่อฉันเขียน CREATE OR REPLACE PROCEDURE test IS BEGIN truncate table table_name; // error END test; / แต่, CREATE OR REPLACE PROCEDURE test IS BEGIN execute immediate 'truncate table table_name'; // works fine END test; / ทำไมคนที่สองถึงทำสำเร็จ
11 oracle  plsql  ddl 

2
การสร้างดัชนีแบบกลุ่มล้มเหลวในการสร้างตาราง
เราพบข้อผิดพลาดเมื่อเรียกใช้สคริปต์ต่อไปนี้ IF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE' AND TABLE_NAME='Table_Name') BEGIN CREATE TABLE Table_Name ( Field_Name_1 binary(32) NOT NULL CONSTRAINT PK_Name_Goes_Here PRIMARY KEY NONCLUSTERED , Field_Name_2 int NOT NULL , Field_Name_3 datetime NOT NULL INDEX IX_Name_Goes_Here CLUSTERED ) END โดยเฉพาะอย่างยิ่งมันคือการสร้างดัชนีคลัสเตอร์ที่แสดงข้อผิดพลาดต่อไปนี้: ข่าวสารเกี่ยวกับ 1018, ระดับ 15, สถานะ 1, บรรทัดที่ …

2
PostgreSQL เพิ่มประสิทธิภาพการเพิ่มคอลัมน์ด้วยค่าเริ่มต้นที่ไม่ใช่ค่า NULL หรือไม่
เมื่อเพิ่มNOT NULLคอลัมน์ที่มีDEFAULTค่า - PostgreSQL ปรับการดำเนินการนี้ให้เหมาะสมหรือไม่ ในกรณีที่ตารางมี n แถว, คอลัมน์เปลี่ยนแปลงที่ไม่ได้รับการปรับให้เหมาะสมจะทำให้การเขียน n ของค่าเริ่มต้น - ซึ่งอาจเป็นเรื่องที่เจ็บปวดอย่างมาก ด้วยการปรับให้เหมาะสมฐานข้อมูลจะสร้างคอลัมน์ใหม่ทันทีเก็บเพียงหนึ่งสำเนาของค่าเริ่มต้นซึ่งจะถูกส่งกลับเมื่อไม่พบค่าที่ไม่ใช่ค่าเริ่มต้นสำหรับคอลัมน์นั้นในโครงสร้างข้อมูลดัชนีที่เหมาะสม ตัวอย่างเช่นOracle 11g มีการเพิ่มประสิทธิภาพเช่นนั้น

3
SQL Server อนุญาต (ทำให้มองเห็นได้) DDL ภายในธุรกรรมไปยังธุรกรรมก่อนที่จะส่งมอบหรือไม่?
ใน PostgreSQL ฉันสามารถสร้างตารางที่มีข้อมูลการทดสอบบางส่วนและจากนั้นในการทำธุรกรรมโยกย้ายไปยังคอลัมน์ใหม่ของรูปแบบที่แตกต่างกันส่งผลให้ในหนึ่งตารางเขียนเมื่อCOMMIT, CREATE TABLE foo ( a int ); INSERT INTO foo VALUES (1),(2),(3); ติดตามโดย, BEGIN; ALTER TABLE foo ADD COLUMN b varchar; UPDATE foo SET b = CAST(a AS varchar); ALTER TABLE foo DROP COLUMN a; COMMIT; อย่างไรก็ตามสิ่งเดียวกันใน SQL Server ของ Microsoft ดูเหมือนจะสร้างข้อผิดพลาด เปรียบเทียบซอ db db ที่ใช้งานได้โดยที่ADDคำสั่ง (คอลัมน์) …

4
การช่วงชิง DDL บน TempDB
ฉันมี SQL Server 2005 Standard x64 ที่ประสบปัญหากับการช่วงชิงการแข่งขัน DDDB ของ TempDB ในช่วงสองสามเดือนที่ผ่านมา เซิร์ฟเวอร์จะได้รับการช่วงชิงทรัพยากรรอ 2: 1: 103 (ประเภทรอเป็น PAGELATCH_EX) ปัญหานี้เกิดขึ้นเป็นระยะ ๆ เมื่อเซิร์ฟเวอร์อยู่ในช่วงโหลดที่เหมาะสม ฉันได้ตรวจสอบอัตรา "ตารางชั่วคราวสำหรับการทำลาย" และสามารถข้ามไปที่ 5,000+ ในช่วงเวลาที่เรามีปัญหาของ PAGELATCH_EX ใน 2: 1: 103 จากสิ่งที่ฉันได้อ่านตัวนับนี้ควรเป็น 0 เวลาส่วนใหญ่ แต่ดูเหมือนว่าพวกเราจะอยู่ที่ใดก็ได้ตั้งแต่ 300-1100 ส่วนใหญ่ ตัวนับจะไปที่ 0 เมื่อมีผู้ใช้น้อยมากในระบบ ฉันจะแคบลงสิ่งที่ทำให้เกิดการแข่งขัน DDL ใน tempdb โดยไม่ต้องมองหาเข็มในกองหญ้าแห้งได้อย่างไร

1
ฉันจะนำเข้าเนื้อหาของฐานข้อมูล Oracle ไปยัง Visio เพื่อสร้าง Entity Relationship Diagram ได้อย่างไร
ฉันมีฐานข้อมูล Oracle และฉันต้องการสร้าง ERD ใน Visio 2007 Pro ฉันเคยดูที่คำสั่ง DBMS_METADATA.GET_DDL เพื่อสร้าง DDL ฉันรู้ว่าฉันสามารถนำเข้าฐานข้อมูล Access ลงใน Visio แต่ดูเหมือนว่า Access เข้าใจภาษา SQL ซึ่งแตกต่างจาก Oracle ดังนั้นฉันจะต้องปรับแต่งทุกคำสั่งสร้างตารางเพื่อเปลี่ยนชนิดข้อมูล มีวิธีง่ายๆในการสร้าง ERD โดยใช้ DDL ใน Visio Pro 2007 หรือไม่?
9 oracle  import  erd  ddl  visio 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.