GVKun编程网logo

我可以在 SQL Server 的添加列语句中创建命名默认约束吗?(sql给某列添加默认约束)

14

对于想了解我可以在SQLServer的添加列语句中创建命名默认约束吗?的读者,本文将是一篇不可错过的文章,我们将详细介绍sql给某列添加默认约束,并且为您提供关于android–我可以在content

对于想了解我可以在 SQL Server 的添加列语句中创建命名默认约束吗?的读者,本文将是一篇不可错过的文章,我们将详细介绍sql给某列添加默认约束,并且为您提供关于android – 我可以在contentObserver中创建Alert和Toast吗?、asp.net-mvc – 我可以在这里使用路由约束吗?、reporting-services – 我可以使用SQL Server 2008 R2在VS 2015中创建SSRS报告吗?、sql server 中删除默认约束的通用 sql 脚本 (轉)的有价值信息。

本文目录一览:

我可以在 SQL Server 的添加列语句中创建命名默认约束吗?(sql给某列添加默认约束)

我可以在 SQL Server 的添加列语句中创建命名默认约束吗?(sql给某列添加默认约束)

在 SQL Server 中,我在表上有一个新列:

ALTER TABLE t_tableName     ADD newColumn NOT NULL

这失败了,因为我在没有指定默认约束的情况下指定了 NOT NULL。该表不应有默认约束。

为了解决这个问题,我可以使用默认约束创建表,然后将其删除。

但是,似乎没有任何方法可以指定默认约束应命名为该语句的一部分,因此我摆脱它的唯一方法是拥有一个在 sys.default_constraints
中查找它的存储过程桌子。

对于可能经常发生的操作来说,这有点混乱/冗长。有没有人对此有更好的解决方案?

答案1

小编典典

这应该有效:

ALTER TABLE t_tableName     ADD newColumn VARCHAR(50)    CONSTRAINT YourContraintName DEFAULT '''' NOT NULL

android – 我可以在contentObserver中创建Alert和Toast吗?

android – 我可以在contentObserver中创建Alert和Toast吗?

我无法编写代码来在短信的ContentObserver中创建警报和吐司.我无法获取ContentObserver的上下文.有人请帮帮我.提前致谢.

 MyObserver yourObserver = new MyObserver(new Handler());

        ContentResolver contentResolver = this.getContentResolver();
        contentResolver.registerContentObserver(Uri.parse("content://sms"),true, yourObserver);

&安培;

class YourObserver extends ContentObserver {

    //Context context = new ContentObserver()
    AlertDialog.Builder builder;
    AlertDialog alert;
    public YourObserver(Handler handler) {
        super(handler);
    }

    @Override
    public void onChange(boolean selfChange) {
        super.onChange(selfChange);
       Toast.makeText(???,"SENT..!!", Toast.LENGTH_LONG).show();
        System.out.println("hey =++++++++++++++++++++++_______+++++++++++++++++++++++++++++");
        builder = new AlertDialog.Builder(???);
        builder.setMessage("Are you sure??");
        builder.setCancelable(false);
        builder.setPositiveButton("Yes",new DialogInterface.OnClickListener() {

            @Override
            public void onClick(DialogInterface dialog, int which) {
                Toast.makeText(???, "Okay",Toast.LENGTH_LONG).show();
            }
        });

        builder.setNegativeButton("No",new DialogInterface.OnClickListener() {

            @Override
            public void onClick(DialogInterface dialog, int which) {
                alert.cancel(); 
            }
        });
        alert = builder.create();
        alert.show();
    }
}

解决方法:

您可以将Activity的上下文传递给ContentObserver类,

ContentResolver observer = this.getContentResolver();
        observer.registerContentObserver(SMS_URI, true,
                                   new MyObserver(new Handler(), this));

并且在MyObserver类中使用上下文,

   Activity mActivity;
    public MyContentObserver(Handler handler, Activity mActivity) {
        super(handler);
        this.mActivity= mActivity;
    }

asp.net-mvc – 我可以在这里使用路由约束吗?

asp.net-mvc – 我可以在这里使用路由约束吗?

如果我有以下网址:

/someurl

我有两个域名:

us.foo.com

au.foo.com

我希望这个200(匹配):

us.foo.com/someurl

但这到404(不匹配):

au.foo.com/someurl

路线看起来像这样:

RouteTable.Routes.MapRoute(
   "xyz route","someurl",new { controller = "X",action = "Y" }
);

我猜是因为没有路由值,我不能基于主机限制URL?那是对的吗?

如果是这样,我怎么能这样做,除了动作中的以下(丑陋):

if (cantViewThisUrlInThisDomain)
   return new HttpNotFoundResult();

有人有任何想法吗?

我想我有点想通过它的域来限制路由,而不是路由令牌,如果这是有道理的.

解决方法

你可以写一个自定义路线:

public class MyRoute : Route
    {
        public MyRoute(string url,object defaults)
            : base(url,new RouteValueDictionary(defaults),new MvcRouteHandler())
        { }

        public override RouteData GetRouteData(HttpContextBase httpContext)
        {
            var url = httpContext.Request.Url;
            if (!IsAllowedUrl(url))
            {
                return null;
            }
            return base.GetRouteData(httpContext);
        }

        private bool IsAllowedUrl(Uri url)
        {   
            // Todo: parse the url and decide whether you should allow
            // it or not             
            throw new NotImplementedException();
        }
    }

然后在Global.asax中的RegisterRoutes方法中注册它:

routes.Add(
    "xyz route",new MyRoute(
        "{someurl}",new { controller = "Home",action = "Index" }
    )
);

reporting-services – 我可以使用SQL Server 2008 R2在VS 2015中创建SSRS报告吗?

reporting-services – 我可以使用SQL Server 2008 R2在VS 2015中创建SSRS报告吗?

我是SSRS的新手.

最近将我的开发环境从Visual Studio 2010升级到Visual Studio 2015 Enterprise Edition.目前,我的报告是使用Crystal Reports制作的.我想使用SSRS,我正在尝试找出我当前的环境将允许我这样做.

所以现在我正在使用Visual Studio 2015和sql Server 2008 R2.

>我可以使用这两个创建SSRS报告吗?
>如果是,我该如何创建它?
>我知道如何使用sql Server 2008 R2中的Business Intelligence Development Studio创建报表并将其发布.但是无法理解我如何在Visual Studio 2015中的WebApplication项目中使用这些报告.
>也想知道 – 是否可以重用我在Crystal Reports中使用的现有数据集?
>我应该升级我的sql Server版本吗?

非常感谢对问题的快速回复.

谢谢.

解决方法

是的,您可以使用VS 2015为SSRS 2008 R2创建报告.您需要在以下链接下载并安装sql Server数据工具(SSDT).

https://msdn.microsoft.com/en-us/library/mt204009.aspx

要构建报告,请使用“新建项目”对话框中“模板/商业智能”下的“报告服务器项目”模板创建新项目. (安装SSDT后)

这是BIDS的替代品,你看到的很多看起来应该很熟悉.
不确定Crystal Reports数据集,但您应该能够重用可能属于这些数据集的任何sql或存储过程.

你应该升级吗?在某些时候,当然,但这不是必需的. sql Server 2016即将问世,您正在使用一款已超过4年的产品,如果尚未支持,很可能很快就会失去支持.

sql server 中删除默认约束的通用 sql 脚本 (轉)

sql server 中删除默认约束的通用 sql 脚本 (轉)

在 SQL Server 中,如果给表的一个字段设置了默认值,就会在系统表 sysobjects 中生成一个默认约束。
如果想删除这个设置了默认值的字段(假设此字段名 column1),执行 “ALTER TABLE table1 DROP COLUMN column1” 时就会报错:

The object ''DF__xxxxxxxxxxx'' is dependent on column ''column1''. 
ALTER TABLE DROP COLUMN column1failed because one or more objects access this column.




所以在删除此字段时需要先将系统表中的对应默认约束删除, 可以使用下面的脚本进行删除:

-- this script drops the default constraint which is generated by the setting of default value.
DECLARE @tablename VARCHAR(100), @columnname VARCHAR(100), @tab VARCHAR(100)
SET @tablename=''CountryGroupEmailAndWaitAux''
SET @columnname=''actionOfHasNoValidEmail''
declare @defname varchar(100)
declare @cmd varchar(100)
select @defname = name FROM sysobjects so 
inner JOIN sysconstraints sc ON so.id = sc.constid
WHERE object_name(so.parent_obj) = @tablename 
AND so.xtype = ''D''
AND sc.colid =(SELECT colid FROM syscolumns
WHERE id = object_id(@tablename) AND name = @columnname)
set @cmd=''alter table ''+ @tablename+ '' drop constraint ''+ @defname
if @cmd is null print ''No default constraint to drop''
exec (@cmd)



在删除对应的默认约束后,执行:

ALTER TABLE table1 DROP COLUMN column1



即可删除字段。

我们今天的关于我可以在 SQL Server 的添加列语句中创建命名默认约束吗?sql给某列添加默认约束的分享已经告一段落,感谢您的关注,如果您想了解更多关于android – 我可以在contentObserver中创建Alert和Toast吗?、asp.net-mvc – 我可以在这里使用路由约束吗?、reporting-services – 我可以使用SQL Server 2008 R2在VS 2015中创建SSRS报告吗?、sql server 中删除默认约束的通用 sql 脚本 (轉)的相关信息,请在本站查询。

本文标签: