通过返回的SQL语句,定位了故障程序,解决了一个大bug
第一步,打开sybase central,在左边视图中,双击数据库服务器名称,然后双击“登录”文件夹,在右边的视图中选择“增加登录”。新建一个“登录”扒陪,输入登录名:ts,设置口令,然后单击下一步,直到完成。
第二步,在新建好的登录名上单击鼠标右键,选择“属性”选项。
第三步,在属性窗口中选择“角色”页,点击“增加角色”按钮。
第四步,在d出窗口中选中sa_role和sybase_ts_role两个角色(按住ctrl键来多选),点击“确定”按钮保存设置。塌悔
第六步,输入语句select * from syslogshold,如果有记录返回,则记住第三个字段(spid)的值。
第七步,输入SQL语句:dbcc traceon(3604)dbcc sqltext(上一步中第三个字段的值)执行,输出结果即为该进程正在执行的SQL语句团此正。
根据SQL Anywhere User s Guide所作小含侍结 绝大部分都可用直接于Sybase数据库
SELECT语句
SELECT *
FROM employee
SELECT *
FROM employee
ORDER BY emp_lname ASC
SELECT *
FROM employee
ORDER BY emp_lname DESC
SELECT emp_lname dept_id birth_date
FROM employee
SELECT *
FROM employee
WHERE emp_fname= John
(一定使用单引号)
SELECT emp_fname emp_lname birth_date
FROM employee
WHERE emp_fname = John
ORDER BY birth_date
SELECT emp_lname birth_date
FROM employee
谨握 WHERE birth_date <March
(= <><= >= <>谈晌吵 加上AND与OR)
SELECT emp_lname emp_fname
FROM employee
WHERE emp_lname LIKE br%
(% _)
SELECT emp_lname emp_fname
FROM employee
WHERE SOUNDEX( emp_lname ) = SOUNDEX( Brown )
(找出英文中发音相同的记录 中文下用处不大)
SELECT emp_lname birth_date
FROM employee
WHERE birth_date BEEENAND
SELECT emp_lname emp_id
FROM employee
WHERE emp_lname IN ( yeung bucceri charlton )
连接表
SELECT *
FROM sales_order employee
WHERE sales_order sales_rep = employee emp_id
SELECT E emp_lname S id S order_date
FROM sales_order as S employee as E
WHERE S sales_rep = E emp_id
ORDER BY E emp_lname
连接两表的快捷键 KEY JOIN及NATURAL JOIN 最好用WHERE
SELECT emp_lname id order_date
FROM sales_order
KEY JOIN employee
(主键与外部键对应的地方 就可以用KEY JOIN)
SELECT pany_name
CAST( SUM(sales_order_items quantity * product unit_price) AS INTEGER) AS value
FROM customer
KEY JOIN sales_order
KEY JOIN sales_order_items
KEY JOIN product
GROUP BY pany_name
SELECT emp_lname dept_name
FROM employee
NATURAL JOIN department
(找出两表间有相同的字段名 进行连结)
集合
SELECT count( * )
FROM employee
SELECT count( * )
min( birth_date )
max( birth_date )
FROM employee
(MIN MAX COUNT AVG SUM LIST 作为单独的一列选出)
SELECT sales_rep count( * )
FROM sales_order
GROUP BY sales_rep
(在使用GROUP BY时 对于GROUP BY指定的字段 其每一个不同的值都会组成一行)
SELECT sales_rep count( * )
FROM sales_order
KEY JOIN employee
GROUP BY sales_rep
HAVING count( * ) >
更新数据库
INSERT
INTO department ( dept_id dept_name dept_head_id )
VALUES ( Eastern Sales )
INSERT
INTO department
VALUES ( Eastern Sales )
UPDATE employee
SET dept_id = manager_id =
WHERE emp_id =
DELETE
FROM employee
WHERE termination_date IS NOT NULL
DELETE
FROM employee
WHERE LEFT( phone ) = AND manager_id =
视图
CREATE VIEW emp_dept AS
SELECT emp_fname emp_lname dept_name
FROM employee
JOIN department ON department dept_id = employee dept_id
SELECT *
FROM emp_dept
(视图能自动更新状态)
DROP VIEW emp_dept
CREATE VIEW emp_dept(FirstName LastName Department) AS
SELECT emp_fname emp_lname dept_name
FROM employee JOIN department ON department dept_id = employee dept_id
(创建视图不能使用ORDEY BY 但使用视图可以使用)
SELECT LastName dept_head_id
FROM emp_dept department
WHERE emp_dept Department = department dept_name
(将视图与其他表进行进一步的连结)
视图权限管理
GRANT CONNECT TO M_Kelly
IDENTIFIED BY SalesHead
CREATE VIEW SalesEmployee AS
SELECT emp_id emp_lname emp_fname
FROM dba employee
WHERE dept_id =
GRANT SELECT ON SalesEmployee TO M_Kelly
CONNECT USER M_Kelly IDENTIFIED BY SalesHead
SELECT * FROM dba SalesEmployee
子查询
SELECT *
FROM sales_order_items
WHERE prod_id IN
( SELECT id
FROM product
WHERE quantity <)
ORDER BY ship_date DESC
SELECT *
FROM fin_data
WHERE de = ANY ( SELECT de
FROM fin_code
WHERE type = revenue )
(=ANY 相当于IN)
SELECT *
FROM fin_data
WHERE de <>ALL ( SELECT de
FROM fin_code
WHERE type = revenue )
(相当于NOT IN)
SELECT sales_order id sales_order order_date
( SELECT pany_name
FROM customer
WHERE customer id = sales_order cust_id )
FROM sales_order
WHERE order_date >/ /
ORDER BY order_date
(如果其他表只要求产生一个字段 就可以使用子查询来代替连接)
SELECT pany_name state
( SELECT MAX( id )
FROM sales_order
WHERE sales_order cust_id = customer id )
FROM customer
WHERE state = WA
根据SQL Anywhere User s Guide所作小结 绝大部分都可用直接于Sybase数据库
SELECT语句
SELECT *
FROM employee
SELECT *
FROM employee
ORDER BY emp_lname ASC
SELECT *
FROM employee
ORDER BY emp_lname DESC
SELECT emp_lname dept_id birth_date
FROM employee
SELECT *
FROM employee
WHERE emp_fname= John
(一定使用单引号)
SELECT emp_fname emp_lname birth_date
FROM employee
WHERE emp_fname = John
ORDER BY birth_date
SELECT emp_lname birth_date
FROM employee
WHERE birth_date <March
(= <><= >= <>加上AND与OR)
SELECT emp_lname emp_fname
FROM employee
WHERE emp_lname LIKE br%
(% _)
SELECT emp_lname emp_fname
FROM employee
WHERE SOUNDEX( emp_lname ) = SOUNDEX( Brown )
(找出英文中发音相同的记录 中文下用处不大)
SELECT emp_lname birth_date
FROM employee
WHERE birth_date BEEENAND
SELECT emp_lname emp_id
FROM employee
WHERE emp_lname IN ( yeung bucceri charlton )
连接表
SELECT *
FROM sales_order employee
WHERE sales_order sales_rep = employee emp_id
SELECT E emp_lname S id S order_date
FROM sales_order as S employee as E
WHERE S sales_rep = E emp_id
ORDER BY E emp_lname
连接两表的快捷键 KEY JOIN及NATURAL JOIN 最好用WHERE
SELECT emp_lname id order_date
FROM sales_order
KEY JOIN employee
(主键与外部键对应的地方 就可以用KEY JOIN)
SELECT pany_name
CAST( SUM(sales_order_items quantity * product unit_price) AS INTEGER) AS value
FROM customer
KEY JOIN sales_order
KEY JOIN sales_order_items
KEY JOIN product
GROUP BY pany_name
SELECT emp_lname dept_name
FROM employee
NATURAL JOIN department
(找出两表间有相同的字段名 进行连结)
集合
SELECT count( * )
FROM employee
SELECT count( * )
min( birth_date )
max( birth_date )
FROM employee
(MIN MAX COUNT AVG SUM LIST 作为单独的一列选出)
SELECT sales_rep count( * )
FROM sales_order
GROUP BY sales_rep
(在使用GROUP BY时 对于GROUP BY指定的字段 其每一个不同的值都会组成一行)
SELECT sales_rep count( * )
FROM sales_order
KEY JOIN employee
GROUP BY sales_rep
HAVING count( * ) >
更新数据库
INSERT
INTO department ( dept_id dept_name dept_head_id )
VALUES ( Eastern Sales )
INSERT
INTO department
VALUES ( Eastern Sales )
UPDATE employee
SET dept_id = manager_id =
WHERE emp_id =
DELETE
FROM employee
WHERE termination_date IS NOT NULL
DELETE
FROM employee
WHERE LEFT( phone ) = AND manager_id =
视图
CREATE VIEW emp_dept AS
SELECT emp_fname emp_lname dept_name
FROM employee
JOIN department ON department dept_id = employee dept_id
SELECT *
FROM emp_dept
(视图能自动更新状态)
DROP VIEW emp_dept
CREATE VIEW emp_dept(FirstName LastName Department) AS
SELECT emp_fname emp_lname dept_name
FROM employee JOIN department ON department dept_id = employee dept_id
(创建视图不能使用ORDEY BY 但使用视图可以使用)
SELECT LastName dept_head_id
FROM emp_dept department
WHERE emp_dept Department = department dept_name
(将视图与其他表进行进一步的连结)
视图权限管理
GRANT CONNECT TO M_Kelly
IDENTIFIED BY SalesHead
CREATE VIEW SalesEmployee AS
SELECT emp_id emp_lname emp_fname
FROM dba employee
WHERE dept_id =
GRANT SELECT ON SalesEmployee TO M_Kelly
CONNECT USER M_Kelly IDENTIFIED BY SalesHead
SELECT * FROM dba SalesEmployee
子查询
SELECT *
FROM sales_order_items
WHERE prod_id IN
( SELECT id
FROM product
WHERE quantity <)
ORDER BY ship_date DESC
SELECT *
FROM fin_data
WHERE de = ANY ( SELECT de
FROM fin_code
WHERE type = revenue )
(=ANY 相当于IN)
SELECT *
FROM fin_data
WHERE de <>ALL ( SELECT de
FROM fin_code
WHERE type = revenue )
(相当于NOT IN)
SELECT sales_order id sales_order order_date
( SELECT pany_name
FROM customer
WHERE customer id = sales_order cust_id )
FROM sales_order
WHERE order_date >/ /
ORDER BY order_date
(如果其他表只要求产生一个字段 就可以使用子查询来代替连接)
SELECT pany_name state
( SELECT MAX( id )
FROM sales_order
WHERE sales_order cust_id = customer id )
FROM customer
WHERE state = WA
SELECT pany_name MAX( sales_order id ) state
FROM customer
KEY LEFT OUTER JOIN sales_order
WHERE state = WA
GROUP BY pany_name state
系统表
SYSCATALOG 查看所有的表
SYSCOLUMNS 查看表的字段属性
FROM customer
KEY LEFT OUTER JOIN sales_order
WHERE state = WA
GROUP BY pany_name state
系统表
SYSCATALOG 查看所有的表
lishixinzhi/Article/program/Oracle/201311/16984不能知改没搭纳改小。
只能改大。
可以增加数据设备文件或者扩大已有设备文件的大小。
--
初始化
一个100m的设备test_dev
disk
init
name
='test_dev'',physname='c:\sybase\data\test_dev.dat',size='100m'
或者
--给设备test_dev扩大200m的空间
disk
resize
name='test_dev',size='200m'
为歼斗数据库增加100m的空间
alter
database
test
on
test_dev='100m'
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)