@@:sqlserver: sa Chen8023
@@:查看指定端口的状态: netstat -ano|findstr "80"
@@:优秀的进程管理工具:Process Explorer
@@:windebug配置符号文件:
<1>srv*c:\symbols*http://msdl.microsoft.com/download/symbols !analyze -v
@@:oracle:
<1>获得一个日期的星期几: to_number(to_char(sysdate,'D'))-1
<2>from dual: oracle中的一个特殊实际存在的表,常用在没有目标表的select语句中
@@:ORACLE PL/SQL编程之游标:http://www.cnblogs.com/huyong/archive/2011/05/04/2036377.html
@@:格式化时间:select to_char(sysdate,'yyyy-MM-dd HH24:mm:ss') from dual
@@:可用的google镜像:http://www.gfsswy.com/
@@:Oracle解析xml:
//***************************111111111****************************************//
DECLARE
v_xmlstr VARCHAR2(1000);
v_xml XMLTYPE;
v_title VARCHAR2(50);
v_language VARCHAR2(50);
v_body VARCHAR2(50);
BEGIN
v_xmlstr := '<html>
<head my="chen" you="hui">
<title>This IS title.</title>
<LANGUAGE>c++</LANGUAGE>
<LANGUAGE>python</LANGUAGE>
</head>
<body>I am BODY.</body>
</html>';
v_xml := XMLTYPE(v_xmlstr); -- 生成XML
SELECT EXTRACTVALUE(VALUE(t),'/html/head/@you') --加上@取属性值
,EXTRACTVALUE(VALUE(t),'/html/head/LANGUAGE')
,EXTRACTVALUE(VALUE(t),'/html/body')
INTO v_title ,v_language ,v_body
FROM TABLE(XMLSEQUENCE(EXTRACT(v_xml, '/html'))) t; -- 提取XML节点值
dbms_output.put_line(v_title);
dbms_output.put_line(v_language);
dbms_output.put_line(v_body);
END;
/222222222//
DECLARE
TYPE v_languageset IS TABLE OF VARCHAR2(10) INDEX BY BINARY_INTEGER;
v_language v_languageset;
v_xmlstr VARCHAR2(1000);
v_xml XMLTYPE;
BEGIN
v_xmlstr := '<html>
<LANGUAGE>JavaScript</LANGUAGE>
<LANGUAGE>VBScript</LANGUAGE>
<LANGUAGE>JAVA</LANGUAGE>
</html>';
v_xml := XMLTYPE(v_xmlstr);
-- 多个值放在表集合中
SELECT EXTRACTVALUE(VALUE(t),'/LANGUAGE')
BULK COLLECT INTO v_language
FROM TABLE(XMLSEQUENCE(EXTRACT(v_xml, '/html/LANGUAGE'))) t;
FOR i IN v_language.first .. v_language.last LOOP
dbms_output.put_line(v_language(i));
END LOOP;
END;
/33333333//
DECLARE
--xml字符串
v_query VARCHAR2(2000) := '
<html>
<head my="chen" you="hui">
<title>This IS title.</title>
<laguage>c++</laguage>
</head>
<head my="xiao" you="wei">
<title>This IS title.</title>
<laguage>c++</laguage>
</head>
<body>I am BODY.</body>
</html>';
--定义记录xml变量
TYPE xml_record_type IS RECORD(
title VARCHAR2(2000),
laguage VARCHAR2(2000)
);
TYPE xml_table_type IS TABLE OF xml_record_type;
xml_table xml_table_type;
--xml类型
v_xml xmltype;
BEGIN
v_xml := xmltype(v_query);
--查询xml内容
SELECT * BULK COLLECT
INTO xml_table
FROM xmltable('/html/head' passing v_xml columns
titles VARCHAR2(2000) path '@my',
laguages VARCHAR2(2000) path '@you'
);
--遍历xml数据
FOR temp IN xml_table.first .. xml_table.last
LOOP
dbms_output.put_line('>> title: '||xml_table(temp).title);
dbms_output.put_line('>> laguage: '||xml_table(temp).laguage);
END LOOP;
END;
///模板//
TYPE xml_record_type IS RECORD(
strColumName VARCHAR2(32),
strValue1 VARCHAR2(64),
strValue2 VARCHAR2(64)
);
TYPE xml_table_type IS TABLE OF xml_record_type;
xml_table xml_table_type;
--xml类型
v_xml xmltype;
BEGIN
v_xml := xmltype(v_query);
--查询xml内容
SELECT * BULK COLLECT
INTO xml_table
FROM xmltable('/Parameters/Parameter' passing v_xml columns
strColumName VARCHAR2(32) path '@strColumName',
strValue1 VARCHAR2(64) path '@strValue1',
strValue2 VARCHAR2(64) path '@strValue2'
);
--遍历xml数据
FOR temp IN xml_table.first .. xml_table.last
LOOP
v_strColumName := xml_table(temp).strColumName;
v_strValue1 := xml_table(temp).strValue1;
v_strValue2 := xml_table(temp).strValue2;
v_strOptionSQL := CASE
WHEN v_strColumName = 'tOperateTime'
OR v_strColumName = 'tBroadCastTime' THEN v_strOptionSQL || ' AND TO_CHAR(' || v_strColumName || ') >= ''' || v_strValue1 || ''' AND CHAR(' || v_strColumName || ') <= ''' || v_strValue2 || ''''
ELSE v_strOptionSQL || ' And ' || v_strColumName || ' = ''' || v_strValue1 || ''''
END ;
END LOOP;
END;
//***************************************************************************//
@@:SqlServer解析xml:
//***************************************************************************//
DECLARE @hdoc int --像文件句柄一样
DECLARE @doc varchar(1000)
SET @doc ='
<ROOT>
<Customer CustomerID="VINET" ContactName="Paul Henriot">
<Order CustomerID="VINET" EmployeeID="5" OrderDate="1996-07-04T00:00:00">
<OrderDetail OrderID="10248" ProductID="11" Quantity="12"/>
<OrderDetail OrderID="10248" ProductID="42" Quantity="10"/>
</Order>
</Customer>
<Customer CustomerID="LILAS" ContactName="Carlos Gonzlez">
<Order CustomerID="LILAS" EmployeeID="3" OrderDate="1996-08-16T00:00:00">
<OrderDetail OrderID="10283" ProductID="72" Quantity="3"/>
</Order>
</Customer>
</ROOT>'
EXEC sp_xml_preparedocument @hdoc OUTPUT, @doc
SELECT *
FROM openxml(@hdoc,'/ROOT/Customer',1)
WITH (CustomerIDt/*后面的'@CustomerID'表示取属性值,没有@表示取文本值*/ VARCHAR(40) '@CustomerID',
ContactName/*后面没有附加说明的话,默认取属性值,但是此时此名必须与属性名相同*/ VARCHAR(40))
注:FROM后面的WITH也是可选的,用来指定获取哪些数据字段
//***************************************************************************//
@@: oracle中的case语句:
<1>
DECLARE
V_grade char(1) := UPPER('&p_grade');
V_appraisal VARCHAR2(20);
BEGIN
V_appraisal :=
CASE v_grade
WHEN 'A' THEN 'Excellent' --注:没有分号
WHEN 'B' THEN 'Very Good'
WHEN 'C' THEN 'Good'
ELSE 'No such grade'
END; --注:当放在一条语句中时, 不能像<2>用END CASE
DBMS_OUTPUT.PUT_LINE('Grade:'||v_grade||' Appraisal: '|| v_appraisal);
END;
<2>
DECLARE
V_grade char(1) := UPPER('&p_grade');
V_appraisal VARCHAR2(20);
BEGIN
CASE
WHEN V_grade = 'A' THEN
V_appraisal:='111';
WHEN V_grade = 'B' THEN
V_appraisal:='222';
WHEN V_grade = 'C' THEN
V_appraisal:='333';
ELSE
V_appraisal:='你是傻子蛋物';
END CASE; --注:没有向上一个例子一样作为一条语句,所以要用:END CASE
DBMS_OUTPUT.PUT_LINE(V_appraisal);
END;
@@: oracle10g在win732上安装异常退出解决方法:
<1>首先、确保你有该文件夹的完全控制权。(修改:文件夹点右键 属性-〉安全-〉高级-〉所有者-〉改为自己。
<2>接着编辑自己的权限为完全控制)其次、将setup.exe的兼容性改为windows server 2003(server pack 1)。
(就是右键属性-〉兼容性-〉兼容模式中。接着、右键,以管理员身份运行)
@@:vs中的一些常用快捷键:
Ctrl + M + O: 折叠所有方法
Ctrl + M + L: 展开所有方法
Ctrl + K:添加标签
CTRL+SHIFT+F9删除所有的断点
@@:一些小工具
procdump.exe -ma pid // 创建一个dump文件
umdh.exe -p:pid -f:filepath // 抓当时的内存分配
umdh.exe file1path file2path -f:resultfile // 比较内存两次不同
@@: mode com1 // 查看com口的状态
@@:查看指定端口的状态: netstat -ano|findstr "80"
@@:优秀的进程管理工具:Process Explorer
@@:windebug配置符号文件:
<1>srv*c:\symbols*http://msdl.microsoft.com/download/symbols !analyze -v
@@:oracle:
<1>获得一个日期的星期几: to_number(to_char(sysdate,'D'))-1
<2>from dual: oracle中的一个特殊实际存在的表,常用在没有目标表的select语句中
@@:ORACLE PL/SQL编程之游标:http://www.cnblogs.com/huyong/archive/2011/05/04/2036377.html
@@:格式化时间:select to_char(sysdate,'yyyy-MM-dd HH24:mm:ss') from dual
@@:可用的google镜像:http://www.gfsswy.com/
@@:Oracle解析xml:
//***************************111111111****************************************//
DECLARE
v_xmlstr VARCHAR2(1000);
v_xml XMLTYPE;
v_title VARCHAR2(50);
v_language VARCHAR2(50);
v_body VARCHAR2(50);
BEGIN
v_xmlstr := '<html>
<head my="chen" you="hui">
<title>This IS title.</title>
<LANGUAGE>c++</LANGUAGE>
<LANGUAGE>python</LANGUAGE>
</head>
<body>I am BODY.</body>
</html>';
v_xml := XMLTYPE(v_xmlstr); -- 生成XML
SELECT EXTRACTVALUE(VALUE(t),'/html/head/@you') --加上@取属性值
,EXTRACTVALUE(VALUE(t),'/html/head/LANGUAGE')
,EXTRACTVALUE(VALUE(t),'/html/body')
INTO v_title ,v_language ,v_body
FROM TABLE(XMLSEQUENCE(EXTRACT(v_xml, '/html'))) t; -- 提取XML节点值
dbms_output.put_line(v_title);
dbms_output.put_line(v_language);
dbms_output.put_line(v_body);
END;
/222222222//
DECLARE
TYPE v_languageset IS TABLE OF VARCHAR2(10) INDEX BY BINARY_INTEGER;
v_language v_languageset;
v_xmlstr VARCHAR2(1000);
v_xml XMLTYPE;
BEGIN
v_xmlstr := '<html>
<LANGUAGE>JavaScript</LANGUAGE>
<LANGUAGE>VBScript</LANGUAGE>
<LANGUAGE>JAVA</LANGUAGE>
</html>';
v_xml := XMLTYPE(v_xmlstr);
-- 多个值放在表集合中
SELECT EXTRACTVALUE(VALUE(t),'/LANGUAGE')
BULK COLLECT INTO v_language
FROM TABLE(XMLSEQUENCE(EXTRACT(v_xml, '/html/LANGUAGE'))) t;
FOR i IN v_language.first .. v_language.last LOOP
dbms_output.put_line(v_language(i));
END LOOP;
END;
/33333333//
DECLARE
--xml字符串
v_query VARCHAR2(2000) := '
<html>
<head my="chen" you="hui">
<title>This IS title.</title>
<laguage>c++</laguage>
</head>
<head my="xiao" you="wei">
<title>This IS title.</title>
<laguage>c++</laguage>
</head>
<body>I am BODY.</body>
</html>';
--定义记录xml变量
TYPE xml_record_type IS RECORD(
title VARCHAR2(2000),
laguage VARCHAR2(2000)
);
TYPE xml_table_type IS TABLE OF xml_record_type;
xml_table xml_table_type;
--xml类型
v_xml xmltype;
BEGIN
v_xml := xmltype(v_query);
--查询xml内容
SELECT * BULK COLLECT
INTO xml_table
FROM xmltable('/html/head' passing v_xml columns
titles VARCHAR2(2000) path '@my',
laguages VARCHAR2(2000) path '@you'
);
--遍历xml数据
FOR temp IN xml_table.first .. xml_table.last
LOOP
dbms_output.put_line('>> title: '||xml_table(temp).title);
dbms_output.put_line('>> laguage: '||xml_table(temp).laguage);
END LOOP;
END;
///模板//
TYPE xml_record_type IS RECORD(
strColumName VARCHAR2(32),
strValue1 VARCHAR2(64),
strValue2 VARCHAR2(64)
);
TYPE xml_table_type IS TABLE OF xml_record_type;
xml_table xml_table_type;
--xml类型
v_xml xmltype;
BEGIN
v_xml := xmltype(v_query);
--查询xml内容
SELECT * BULK COLLECT
INTO xml_table
FROM xmltable('/Parameters/Parameter' passing v_xml columns
strColumName VARCHAR2(32) path '@strColumName',
strValue1 VARCHAR2(64) path '@strValue1',
strValue2 VARCHAR2(64) path '@strValue2'
);
--遍历xml数据
FOR temp IN xml_table.first .. xml_table.last
LOOP
v_strColumName := xml_table(temp).strColumName;
v_strValue1 := xml_table(temp).strValue1;
v_strValue2 := xml_table(temp).strValue2;
v_strOptionSQL := CASE
WHEN v_strColumName = 'tOperateTime'
OR v_strColumName = 'tBroadCastTime' THEN v_strOptionSQL || ' AND TO_CHAR(' || v_strColumName || ') >= ''' || v_strValue1 || ''' AND CHAR(' || v_strColumName || ') <= ''' || v_strValue2 || ''''
ELSE v_strOptionSQL || ' And ' || v_strColumName || ' = ''' || v_strValue1 || ''''
END ;
END LOOP;
END;
//***************************************************************************//
@@:SqlServer解析xml:
//***************************************************************************//
DECLARE @hdoc int --像文件句柄一样
DECLARE @doc varchar(1000)
SET @doc ='
<ROOT>
<Customer CustomerID="VINET" ContactName="Paul Henriot">
<Order CustomerID="VINET" EmployeeID="5" OrderDate="1996-07-04T00:00:00">
<OrderDetail OrderID="10248" ProductID="11" Quantity="12"/>
<OrderDetail OrderID="10248" ProductID="42" Quantity="10"/>
</Order>
</Customer>
<Customer CustomerID="LILAS" ContactName="Carlos Gonzlez">
<Order CustomerID="LILAS" EmployeeID="3" OrderDate="1996-08-16T00:00:00">
<OrderDetail OrderID="10283" ProductID="72" Quantity="3"/>
</Order>
</Customer>
</ROOT>'
EXEC sp_xml_preparedocument @hdoc OUTPUT, @doc
SELECT *
FROM openxml(@hdoc,'/ROOT/Customer',1)
WITH (CustomerIDt/*后面的'@CustomerID'表示取属性值,没有@表示取文本值*/ VARCHAR(40) '@CustomerID',
ContactName/*后面没有附加说明的话,默认取属性值,但是此时此名必须与属性名相同*/ VARCHAR(40))
注:FROM后面的WITH也是可选的,用来指定获取哪些数据字段
//***************************************************************************//
@@: oracle中的case语句:
<1>
DECLARE
V_grade char(1) := UPPER('&p_grade');
V_appraisal VARCHAR2(20);
BEGIN
V_appraisal :=
CASE v_grade
WHEN 'A' THEN 'Excellent' --注:没有分号
WHEN 'B' THEN 'Very Good'
WHEN 'C' THEN 'Good'
ELSE 'No such grade'
END; --注:当放在一条语句中时, 不能像<2>用END CASE
DBMS_OUTPUT.PUT_LINE('Grade:'||v_grade||' Appraisal: '|| v_appraisal);
END;
<2>
DECLARE
V_grade char(1) := UPPER('&p_grade');
V_appraisal VARCHAR2(20);
BEGIN
CASE
WHEN V_grade = 'A' THEN
V_appraisal:='111';
WHEN V_grade = 'B' THEN
V_appraisal:='222';
WHEN V_grade = 'C' THEN
V_appraisal:='333';
ELSE
V_appraisal:='你是傻子蛋物';
END CASE; --注:没有向上一个例子一样作为一条语句,所以要用:END CASE
DBMS_OUTPUT.PUT_LINE(V_appraisal);
END;
@@: oracle10g在win732上安装异常退出解决方法:
<1>首先、确保你有该文件夹的完全控制权。(修改:文件夹点右键 属性-〉安全-〉高级-〉所有者-〉改为自己。
<2>接着编辑自己的权限为完全控制)其次、将setup.exe的兼容性改为windows server 2003(server pack 1)。
(就是右键属性-〉兼容性-〉兼容模式中。接着、右键,以管理员身份运行)
@@:vs中的一些常用快捷键:
Ctrl + M + O: 折叠所有方法
Ctrl + M + L: 展开所有方法
Ctrl + K:添加标签
CTRL+SHIFT+F9删除所有的断点
@@:一些小工具
procdump.exe -ma pid // 创建一个dump文件
umdh.exe -p:pid -f:filepath // 抓当时的内存分配
umdh.exe file1path file2path -f:resultfile // 比较内存两次不同
@@: mode com1 // 查看com口的状态
@@: sqlite 函数使用讲解 http://www.runoob.com/sqlite/sqlite-c-cpp.html