'Sunmoon_BIT/ORACLE SQL'에 해당되는 글 5건
- 2012.06.28 ORACLE TABLESPACE 확인
- 2010.04.27 데이터베이스에 XML파일 저장하기
- 2010.04.26 DataBase 검색 [ 검색 쿼리문]
- 2010.02.24 LOGICAL OPERATORS
- 2010.02.22 SQL DML(데이터조작하기)의 기본
[SYSTEM계정으로 접속]
SELECT A.TABLESPACE_NAME,
ROUND(SUM(A.BYTES) / (1024 * 1024)) || 'M' "전체",
ROUND(SUM(B.FREES) / (1024 * 1024)) || 'M' "여유"
FROM
(SELECT FILE_ID, TABLESPACE_NAME, SUM(BYTES) BYTES
FROM DBA_DATA_FILES
GROUP BY FILE_ID, TABLESPACE_NAME) A,
(SELECT TABLESPACE_NAME, FILE_ID, SUM(BYTES) FREES
FROM DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME, FILE_ID) B
WHERE A.TABLESPACE_NAME = B.TABLESPACE_NAME AND
A.FILE_ID = B.FILE_ID
GROUP BY A.TABLESPACE_NAME
SELECT A.TABLESPACE_NAME "테이블스페이스명",
(A.BYTES - B.FREE) "사용공간",
B.FREE "여유 공간",
A.BYTES "총크기",
TO_CHAR( (B.FREE / A.BYTES * 100) , '999.99')||'%' "여유공간"
FROM
(
SELECT FILE_ID,
TABLESPACE_NAME,
SUBSTR(FILE_NAME,1,200) FILE_NM,
SUM(BYTES) BYTES
FROM DBA_DATA_FILES
GROUP BY FILE_ID,TABLESPACE_NAME,SUBSTR(FILE_NAME,1,200)
) A,
(
SELECT TABLESPACE_NAME,
FILE_ID,
SUM(NVL(BYTES,0)) FREE
FROM DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME,FILE_ID
) B
WHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME
AND A.FILE_ID = B.FILE_ID
'Sunmoon_BIT > ORACLE SQL' 카테고리의 다른 글
데이터베이스에 XML파일 저장하기 (0) | 2010.04.27 |
---|---|
DataBase 검색 [ 검색 쿼리문] (0) | 2010.04.26 |
LOGICAL OPERATORS (0) | 2010.02.24 |
SQL DML(데이터조작하기)의 기본 (0) | 2010.02.22 |
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Test_save_XML
{
public partial class from1 : Form
{
string fname;
string fpath;
public from1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
openFileDialog1.Filter = "XML files(*.XML) | *.XML";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
fpath = openFileDialog1.FileName;
fname = fpath.Substring(fpath.LastIndexOf("\\") + 1);
textBox1.Text = fname;
textBox2.Text = fpath;
}
}
private void button2_Click(object sender, EventArgs e)
{
BITPF_ASSEM.LOG_ASSEM bit = new BITPF_ASSEM.LOG_ASSEM();
bool re = bit.FileUpLoad("wangno", fname, fpath);
if (re)
{
MessageBox.Show("데이터베이스에 저장완료");
return;
}
else
{
MessageBox.Show("동일한 파일명이 존재합니다");
return;
}
}
private void button3_Click(object sender, EventArgs e)
{
fname = textBox1.Text;
}
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Collections;
using System.IO;
namespace Down_XML_From_DB
{
public partial class Form1 : Form
{
string click;
BITPF_ASSEM.LOG_ASSEM bit;
public Form1()
{
bit = new BITPF_ASSEM.LOG_ASSEM();
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
listBox1.Items.Clear();
ArrayList list = new ArrayList();
bit.GetFileList(textBox1.Text, ref list);
foreach (string s in list)
{
listBox1.Items.Add(s);
}
}
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
click = listBox1.SelectedItem.ToString();
textBox2.Text = click;
}
private void button2_Click(object sender, EventArgs e)
{
byte[] MyData = null;
int Datasize = new int();
string SavePath = "c:\\";
bit.DownLoadFile("wangno",click,ref MyData,ref Datasize);
FileStream fs = new FileStream(SavePath+click, FileMode.Create, FileAccess.Write);
fs.Write(MyData, 0, Datasize+1);
fs.Close();
MessageBox.Show(string.Format("[{0}] 폴더에 [{1}] 파일 저장완료",SavePath,click));
}
}
}
public bool FileUpLoad(string ID, string FileName, string FilePath)
{
byte[] Mydata = GetImage(FilePath);
InitSQL("ExistFileName");
SqlParameter p1 = new SqlParameter("@ID", SqlDbType.VarChar, 50);
SqlParameter p2 = new SqlParameter("@FILENAME", SqlDbType.VarChar, 50);
SqlParameter p3 = new SqlParameter("@DATAFILE", SqlDbType.Image, Mydata.Length);
SqlParameter p4 = new SqlParameter("@FILESIZE", SqlDbType.Int);
SqlParameter p5 = new SqlParameter("@CHECK", SqlDbType.TinyInt);
p1.Value = ID;
p2.Value = FileName.Substring(FileName.LastIndexOf("\\") + 1);
p3.Value = Mydata;
p4.Value = Mydata.Length;
p5.Direction = System.Data.ParameterDirection.Output;
sCom.Parameters.Add(p1);
sCom.Parameters.Add(p2);
sCom.Parameters.Add(p3);
sCom.Parameters.Add(p4);
sCom.Parameters.Add(p5);
sCom.Connection.Open();
sCom.ExecuteNonQuery();
int re = int.Parse(p5.Value.ToString());
if (re == 0)
{
sCom.Connection.Close();
return true;
}
sCom.Connection.Close();
return false;
}
public void GetFileList(string FileName, ref ArrayList list)
{
InitSQL("FindFile");
SqlParameter p1 = new SqlParameter("@FILENAME", SqlDbType.VarChar, 50);
p1.Value = FileName;
sCom.Parameters.Add(p1);
sCom.Connection.Open();
SqlDataReader sr = sCom.ExecuteReader();
while (sr.Read())
{
list.Add(sr.GetValue(0).ToString());
}
sr.Close();
sCom.Connection.Close();
}
public void DownLoadFile(string ID, string FileName, ref byte[] Mydata, ref int datasize)
{
InitSQL("DownLoadFile");
SqlParameter p1 = new SqlParameter("@FILENAME", SqlDbType.VarChar, 50);
p1.Value = FileName;
sCom.Parameters.Add(p1);
sCom.Connection.Open();
SqlDataReader sr = sCom.ExecuteReader();
while (sr.Read())
{
Mydata = (byte[])sr.GetValue(0);
datasize = Mydata.GetUpperBound(0);
}
sr.Close();
sCom.Connection.Close();
}
XML파일을 DB에 IMAGE형태의 테이블에 BYTE배열을 사용하여 저장하고
BYTE배열을 사용하여 읽어온 후 파일로 저장한다.
'Sunmoon_BIT > ORACLE SQL' 카테고리의 다른 글
ORACLE TABLESPACE 확인 (0) | 2012.06.28 |
---|---|
DataBase 검색 [ 검색 쿼리문] (0) | 2010.04.26 |
LOGICAL OPERATORS (0) | 2010.02.24 |
SQL DML(데이터조작하기)의 기본 (0) | 2010.02.22 |
ALTER PROCEDURE dbo.FindImage
(
AS
LIKE는 같은 값을 검색해주는 내장함수이지만 %가 붙어서 string으로 시작하거나
중간에 string값이 들어간 데이터 혹은 string값으로 끝나는 데이터를 찾을 수 있다.
<소문자 대문자도해줘야 한다고 들은듯한데..더미로 테스트해본 결과 대문자로 쳐도 소문자가 검색이 된다>
'Sunmoon_BIT > ORACLE SQL' 카테고리의 다른 글
ORACLE TABLESPACE 확인 (0) | 2012.06.28 |
---|---|
데이터베이스에 XML파일 저장하기 (0) | 2010.04.27 |
LOGICAL OPERATORS (0) | 2010.02.24 |
SQL DML(데이터조작하기)의 기본 (0) | 2010.02.22 |
'Sunmoon_BIT > ORACLE SQL' 카테고리의 다른 글
ORACLE TABLESPACE 확인 (0) | 2012.06.28 |
---|---|
데이터베이스에 XML파일 저장하기 (0) | 2010.04.27 |
DataBase 검색 [ 검색 쿼리문] (0) | 2010.04.26 |
SQL DML(데이터조작하기)의 기본 (0) | 2010.02.22 |
데이터의 삭제 : DELETE
데이터의 저장 : INSERT(신규 데이터 입력) / UPDATE(기존 데이터 수정)
FROM 테이블1,테이블2, ...
WHERE 조건들;
예) SELECT last_name,first_name
FROM employees
->employees테이블에서 hire_date가 2006-01-01이상인 데이터의 last_name과first_name을 조회.
VALUES (컬럼1_1 값,컬럼1_2 값, ...);
INSERT INTO 테이블명1
VALUES (컬럼1_1 값,컬럼1_2값,...);
->두번째 유혈처럼 컬럼 리스트가 생략이 가능한다 이런 경우에는 테이블에 있는 모든 컬럼에 데이터를 넣는 의미
이므로 VALUE절에 컬럼의 값 중 단 하나라도 없으면 류가 발생
INSERT INTO 테이블명1(컬럼1,컬럼2,...)
SELECT 컬럼2_1,컬럼2_2,...
FROM 테이블2
WHERE ...;
SET 변경컬럼1 = 변경하고자 하는 값,
변경컬럼2 = 변경하고자 하는 값.
...
WHERE 조건절 ...;
->INSERT문처럼 SELECT문이 와서 제 3의 테이블에 있는 컬럼의 값으로 변경가능하다.
->WHERE절을 명시해서 조건이 일치하는 데이터들만 갱신할 수 있다. 생략할 경우에는 테이블 전체 데이터가 변경된다.
WHERE 조건...;
->WHERE로 특정 조건에 맞는 데이터만 삭제. WHERE절을 생략하면 테이블 전체 데이터가 삭제된다.
이러한 실수를 예방하기 위해 INSERT,UPDATE,DELETE문을 실행하더라고 곧바로 데이터가 변경되지 않고
실제 데이터의 변경은 COMMIT문장을 실행하였을때 데이터파일에 적용된다.
COMMIT [WORK] [TO SAVEPOINT savepoint_name];
->SAVEPOINT는 특정 시점까지 작업한 내용을 반영할 경우 사용.
->COMMIT으로 반영되는 데이터는 이전 COMMIT이나 ROLLBACK을 실행한 시점부터 현재 COMMIT을 실행하는 동안에 이루어진 내용을 반영.
원하닌 않는 데이터까지 삭제했을 경우 ROLLBACK문을 실행하면 이전 ROLLBACK이나 COMMIT가 실행된 시점
이후에 변경된 사항은 모두 원상태로 되돌아간다. 즉 취소의 개념이다
ROLLBACK [WORK] [TO SAVEPOINT savepoint_name];
'Sunmoon_BIT > ORACLE SQL' 카테고리의 다른 글
ORACLE TABLESPACE 확인 (0) | 2012.06.28 |
---|---|
데이터베이스에 XML파일 저장하기 (0) | 2010.04.27 |
DataBase 검색 [ 검색 쿼리문] (0) | 2010.04.26 |
LOGICAL OPERATORS (0) | 2010.02.24 |