ÔÚSQL SERVER 2005/2008ÖÐÓµÓÐÒ»¸ö¶ÔÏó
ÔÚSQL SERVER 2005/2008ÖÐÓµÓÐÒ»¸ö¶ÔÏó
´ÓSQL SERVER2000Éý¼¶µ½2005/2008ºó£¬Ò»¸öÎÒÃDZØÐëÖØÐÂÈÏʶµÄÇé¿öÊǶÔÏó²»ÔÙÓÐËùÓÐÕߣ¨owner£©¡£¼Ü¹¹°üº¬¶ÔÏ󣬼ܹ¹ÓÐËùÓÐÕß¡£Èç¹ûÄã²éѯ±ísys.objects£¬Ä㽫»á¿´µ½Õâ¿´ÆðÀ´ÊÇÕýÈ·µÄ£¬Ö»ÊDZíÖл¹ÓÐÒ»¸ö×Ö¶Îprincipal_id£¬µ«ÊÇÒ»°ãÇé¿öÏÂËü×ÜÊÇNULLÖµ¡£²»¾ÃǰһÌ죬ÎÒͻȻ¶Ôprincipal_id×ֶεıíʾÁËÒÉ»ó£ºÎªÊ²Ã´Òª´æÔÚÕâ¸ö×Ö¶ÎÄØ?ÎÒÓÖ×ÐϸµØ¿´ÁËÁª»ú°ïÖúsys.objectsµÄ½âÊÍ£º
“Èç¹û²»ÊǼܹ¹ËùÓÐÕߣ¬ÔòΪµ¥¸öËùÓÐÕßµÄ ID¡£Ä¬ÈÏÇé¿öÏ£¬¼Ü¹¹°üº¬µÄ¶ÔÏóÓɼܹ¹ËùÓÐÕßÓµÓС£²»¹ý£¬Í¨¹ýʹÓà ALTER AUTHORIZATION Óï¾ä¸ü¸ÄËùÓÐȨ¿ÉÒÔÖ¸¶¨±¸ÓÃËùÓÐÕß¡£”
»»¾ä»°Ëµ£¬¶ÔÏóÏÖÔÚ»¹¿ÉÒÔ±»Ò»¸öÓû§ËùÓµÓС£µ«ÊÇ“±¸ÓÃËùÓÐÕß”ÓÖÈÃÎÒ´òסÁË£¬ÕâʲôÒâË¼ÄØ£¿ÈÃÎÒÃÇÏȽ¨Á¢Ò»¸ö²âÊÔ»·¾³£ºÎÒÃÇÐèÒªÔÚÁ½¸ö²»Í¬¼Ü¹¹Öд´½¨Á½¸ö¶ÔÏó¡£ÕâЩ¼Ü¹¹ÊôÓÚ²»Í¬µÄËùÓÐÕߣ¬µ±È»ÎÒÃÇ»¹ÐèÒªÒ»¸ö²âÊÔÕߣ¬ËùÒÔ»¹ÐèÒªÒ»¸öµÚÈýÕß¡£ÈÃÎÒÃÇ´îÆðÕâ¸ö»·¾³°É£º
CREATE USER User1 WITHOUT LOGIN;
GO
CREATE USER User2 WITHOUT LOGIN;
GO
CREATE USER User3 WITHOUT LOGIN;
GO
/* ´´½¨Á½¸ö¼Ü¹¹£¬²¢ÈÃËüÊôÓÚ²»Í¬µÄÓû§*/
CREATE SCHEMA User1 AUTHORIZATION User1;
GO
CREATE SCHEMA User2 AUTHORIZATION User2;
GO
/* ºË²éһϼܹ¹£¬¿´ËüÊÇ·ñ±»²»Í¬¼Ü¹¹ËùÓµÓÐ*/
SELECT schema_id, [name], USER_NAME(principal_id) [Owner]
from sys.schemas
WHERE LEFT([name], 4) = 'User';
GO
ÏÖÔÚÎÒÃÇÒѾÓÐÁËÓû§ºÍ¼Ü¹¹£¬ÎÒÃÇÔÙ´´½¨Ò»¸ö±íºÍÒ»¸öÒýÓøñíµÄ´æ´¢¹ý³Ì¡£ÕâÁ½¸ö¶ÔÏó·ÖÊô²»Í¬µÄ¼Ü¹¹¡£Õâ¾ÍÊÇ˵ûÓÐÐγÉËùÓÐȨÁ´¡£
/* ÔÚuser1¼Ü¹¹ÉÏ´´½¨Ò»¸ö±í¡£*/
CREATE TABLE User1.MyTable (Number INT);
GO
INSERT INTO User1.MyTable (Number) VALUES (1);
INSERT INTO User1.MyTable (Number) VALUES (2);
INSERT INTO User1.MyTable (Number) VALUES (3);
GO
/* ÔÚuser2¼Ü¹¹Öд´½¨Ò»¸ö´æ´¢¹ý³Ì¡£ÒòΪuser1ºÍuser2ÕâÁ½¸ö¼Ü¹¹ÊôÓÚ²»Í¬µÄÓû§£¬ËùÒÔ²»ÄÜÐγÉËùÓÐȨÁ´¡£*/
CREATE PROC User2.MyProc
AS
BEGIN
SELECT Number from User1.MyTable;
END;
GO
/* ÊÚȨÎÒÃǵÄÊÔÑéÓû§user3Ö´Ðд洢¹ý³ÌµÄÄÜÁ¦¡£³ý´ËÖ®Í⣬user3ûÓÐÈκÎȨÀû£¬ÓÈÆäÊÇÔÚuser1.MyTableûÓÐȨÀû */
GRANT EXECUTE ON OBJECT::User2.MyProc TO User3;
GO
/* ºË²éÒ»ÏÂÎÒÃǸոմ´½¨µÄ¼Ü¹¹ºÍ¶ÔÏóºÍ&ldq
Ïà¹ØÎĵµ£º
CREATE proc [dbo].[proc_DeleteTemplet] (@templeId varchar(15),@errorMessage varchar(50) output)
as
begin
declare @error int
set @error =0
begin tran
delete from tc_templet_Head where fBillNo=@templeId
set @error=@error+@@error
delete from tc_templet_ ......
--1. ´´½¨±í£¬Ìí¼Ó²âÊÔÊý¾Ý
CREATE TABLE tb(id int, [value] varchar(10))
INSERT tb SELECT 1, 'aa'
UNION ALL SELECT 1, 'bb'
UNION ALL SELECT 2, 'aaa'
UNION ALL SELECT 2, 'bbb'
UNION ALL SELECT 2, 'ccc'
--SELECT * from tb
/**//*
id value
----------- ----------
1 aa
1 bb
2 aaa
......
ÄãµÄSQL Server 2000±ØÐë´òÉÏSP3µÄ²¹,È»ºó°²×°MicrosoftµÄJDBCÇý¶¯,½«ÒÔÏÂÈý¸öjar°ü¸´ÖƵ½WebContent\WEB-INF\lib
msbase.jar
mssqlserver.jar
msutil.jar
ÏÂÃæÊDzâÊÔ´úÂ룬ûÓб¨´íÊý¾Ý¿â¾ÍÄÜÕý³£Á¬½Ó
public class DbcTest {
/**
* @param args
*/
public static void main(String[] args) {
Str ......
SqlserverÕâ¶«Î÷ûÉÙ¸úËû´ò½»µÀ,¸Õѧ¿ª·¢ÓïÑÔʱ¾ÍÒѾ¸úËû½Ó´¥ÁË,²»ÒªËµºÜ¾«Í¨,µ«¾ÍÓï·¨»¹ËãÊÇÊìϤ,µ«ÏÖÔÚ¿ªÊ¼Ð´C#,·¢ÏÖºÜC#¶àÁËÒ»ÖÖSqlServerµÄ²ÎÊý´«È뷽ʽ,ÒÔÍùÎÒÃdz£³£¶ÔÒª´«²ÎµÄSqlÓï¾ä¶¼ÊÇÖ±½Óͨ¹ýÆ´´ÕSqlÓï¾äµÄ·½Ê½À´ÊµÏÖ,µ«ÏÖÔÚC#ΪʲôҪרÃÅ×öÒ»¸öSql²ÎÊýµÄÀàÀ´ÊµÏÖÄØ,¾¹ý²éÕÒ²ÅÖªµÀ,ÕâÑù×öÊÇÓеÀÀíµÄ,Ò»Ê ......
½ñÌìÎÒÔÚSQL Server 2005ÖÐÓýű¾´´½¨Ò»ÕÅ±í£¬²é×ÊÁÏ·¢ÏÖÓеĽű¾ÖÐ×Ö¶ÎÓмÓ[]ÖзûºÅ£¬ÎÒÎÊÁ˶¬¼¾£¬µÃÖªÊÇÕâ»ØÊ£¬ÓÃ[]µÄ×Ö¶ÎÃû£¬¼´±ãÊÇsql¹Ø¼ü×ÖÒ²¿ÉÒÔ×÷Ϊ×Ö¶ÎÃû£¬²»»á±¨´í¡£
SQL ServerÀïµÄ±íÖÐÌí¼ÓÒ»¸ö×ֶΣ¬È磺timeϵͳ»á×Ô¶¯¼ÓÒ»¶Ô·½À¨ºÅ¼´£º[time] ......