CREATE XML SCHEMA COLLECTION MahasiswaSchema AS
CREATE TABLE Biodata (
ID INT IDENTITY PRIMARY KEY,
Mahasiswa XML (MahasiswaSchema) NOT NULL
) CREATE TABLE Biodata (
ID INT IDENTITY PRIMARY KEY,
Mahasiswa XML (MahasiswaSchema) NOT NULL
)Untuk insert data XML, tidak berbeda dengan sintaks SQL biasa.
INSERT INTO Biodata
VALUES ('
') INSERT INTO Biodata
VALUES ('
')Perhatikan bahwa format XML yang akan disisipkan di atas harus sama dengan format pada skema XML terkait. Jika tidak (misalnya, kurang 1 elemen), maka DBMS akan menganggapnya tidak valid.Jika untuk melakukan query terhadap basis data relasional kita gunakan SQL, maka untuk melakukan query terhadap XML kita gunakan XQuery.Contoh XQuery untuk menampilkan daftar NIM dan mahasiswa yang IPK minimalnya 3.5.
SELECT Mahasiswa.value('
declare default element namespace "http://localhost/test/mahasiswa";
(/Mahasiswa/NIM)[1]', 'varchar(8)') AS NIM,
Mahasiswa.value('
declare default element namespace "http://localhost/test/mahasiswa";
(/Mahasiswa/Nama)[1]', 'varchar(32)') AS Nama
FROM Biodata
WHERE Mahasiswa.value('
declare default element namespace "http://localhost/test/mahasiswa" ;
(/Mahasiswa/IPK)[1]', 'decimal') >= 3.50 SELECT Mahasiswa.value('
declare default element namespace "http://localhost/test/mahasiswa";
(/Mahasiswa/NIM)[1]', 'varchar(8)') AS NIM,
Mahasiswa.value('
declare default element namespace "http://localhost/test/mahasiswa";
(/Mahasiswa/Nama)[1]', 'varchar(32)') AS Nama
FROM Biodata
WHERE Mahasiswa.value('
declare default element namespace "http://localhost/test/mahasiswa" ;
(/Mahasiswa/IPK)[1]', 'decimal') >= 3.50Contoh XQuery untuk mengubah IPK seorang mahasiswa :)
UPDATE Biodata
SET Mahasiswa.modify('
declare default element namespace "http://localhost/test/mahasiswa" ;
replace value of (/Mahasiswa/IPK)[1] with 4.00')
WHERE Mahasiswa.value('
declare default element namespace "http://localhost/test/mahasiswa" ;
(/Mahasiswa/NIM)[1]', 'varchar(8)') = '13504018'
Tidak ada komentar:
Posting Komentar