Modify a View....

  • The request is to modify the view to limit access to all but this one table it exists in.. (the idea is to use the view as a security filter)

    and would it be possible to write the code in the view that will create a separate field for the date proper and the time, so there are 2 fields:

    Request_Date

    Request_Time

    any help much appreciated!!!!

    USE [campaign]

    GO

    /****** Object: View [dbo].[Membership_View] Script Date: 06/20/2008 13:37:56 ******/

    SET ANSI_NULLS ON

    GO

    SET QUOTED_IDENTIFIER ON

    GO

    CREATE VIEW [dbo].[Membership_View]

    AS

    SELECT Contact_LName, Contact_Parish, Contact_City, Contact_State, Contact_Zip, Contact_Country, Request_Comments, Contact_Gender,

    Contact_Membership, Contact_Practicing, Request_Language, Request_ReferralSource, Request_SendBy, Request_URL, Request_Date,

    Contact_PhoneTime, Request_IsAccepted, Request_RejectedReason, Admin_DateContacted, Admin_DateFirstDegree, Admin_DateUpdated,

    Admin_Status, Membership_Campaign_ID

    FROM dbo.Membership_Campaign

    GO

    EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPane1', @value=N'[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00]

    Begin DesignProperties =

    Begin PaneConfigurations =

    Begin PaneConfiguration = 0

    NumPanes = 4

    Configuration = "(H (1[46] 4[35] 2[4] 3) )"

    End

    Begin PaneConfiguration = 1

    NumPanes = 3

    Configuration = "(H (1 [50] 4 [25] 3))"

    End

    Begin PaneConfiguration = 2

    NumPanes = 3

    Configuration = "(H (1 [50] 2 [25] 3))"

    End

    Begin PaneConfiguration = 3

    NumPanes = 3

    Configuration = "(H (4 [30] 2 [40] 3))"

    End

    Begin PaneConfiguration = 4

    NumPanes = 2

    Configuration = "(H (1 [56] 3))"

    End

    Begin PaneConfiguration = 5

    NumPanes = 2

    Configuration = "(H (2 [66] 3))"

    End

    Begin PaneConfiguration = 6

    NumPanes = 2

    Configuration = "(H (4 [50] 3))"

    End

    Begin PaneConfiguration = 7

    NumPanes = 1

    Configuration = "(V (3))"

    End

    Begin PaneConfiguration = 8

    NumPanes = 3

    Configuration = "(H (1[56] 4[18] 2) )"

    End

    Begin PaneConfiguration = 9

    NumPanes = 2

    Configuration = "(H (1 [75] 4))"

    End

    Begin PaneConfiguration = 10

    NumPanes = 2

    Configuration = "(H (1[66] 2) )"

    End

    Begin PaneConfiguration = 11

    NumPanes = 2

    Configuration = "(H (4 [60] 2))"

    End

    Begin PaneConfiguration = 12

    NumPanes = 1

    Configuration = "(H (1) )"

    End

    Begin PaneConfiguration = 13

    NumPanes = 1

    Configuration = "(V (4))"

    End

    Begin PaneConfiguration = 14

    NumPanes = 1

    Configuration = "(V (2))"

    End

    ActivePaneConfig = 0

    End

    Begin DiagramPane =

    Begin Origin =

    Top = 0

    Left = 0

    End

    Begin Tables =

    Begin Table = "Membership_Campaign"

    Begin Extent =

    Top = 0

    Left = 4

    Bottom = 220

    Right = 667

    End

    DisplayFlags = 280

    TopColumn = 24

    End

    End

    End

    Begin SQLPane =

    End

    Begin DataPane =

    Begin ParameterDefaults = ""

    End

    End

    Begin CriteriaPane =

    Begin ColumnWidths = 11

    Column = 1440

    Alias = 900

    Table = 1170

    Output = 720

    Append = 1400

    NewValue = 1170

    SortType = 1350

    SortOrder = 1410

    GroupBy = 1350

    Filter = 1350

    Or = 1350

    Or = 1350

    Or = 1350

    End

    End

    End

    ' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'VIEW', @level1name=N'Membership_View'

    GO

    EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPaneCount', @value=1 ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'VIEW', @level1name=N'Membership_View'

  • I don't understand how you want to use this as a security view - that is not clear. But, for the date questions, you can use CONVERT to return only the date portion and the time portion from a datetime.

    Example:

    CONVERT(char(10), yourdate, 101) -- returns date in mm/dd/yyyy

    CONVERT(char(8), yourdate, 108) -- returns time in hh:mm:ss

    Lookup CAST and CONVERT in BOL for other formats.

    Jeff

    Jeffrey Williams
    “We are all faced with a series of great opportunities brilliantly disguised as impossible situations.”

    ― Charles R. Swindoll

    How to post questions to get better answers faster
    Managing Transaction Logs

  • i don't understand how or why they want to use it as a 'security view' and I didn't realize that you could compute the date and time into two columns in the View. Can you give me the syntax as it relates to my View?

  • The format is just what I gave you. In your query, replace the date column with:

    ,CONVERT(char(10), yourdatecolumnhere, 101) AS Request_Date

    ,CONVERT(char(8), yourdatecolumnhere, 108) AS Request_Time

    Jeff

    Jeffrey Williams
    “We are all faced with a series of great opportunities brilliantly disguised as impossible situations.”

    ― Charles R. Swindoll

    How to post questions to get better answers faster
    Managing Transaction Logs

  • i feel so dumb. worked like a charm. Thank you!

  • No problem - glad I could help, at least with one part.

    Jeffrey Williams
    “We are all faced with a series of great opportunities brilliantly disguised as impossible situations.”

    ― Charles R. Swindoll

    How to post questions to get better answers faster
    Managing Transaction Logs

Viewing 6 posts - 1 through 6 (of 6 total)

You must be logged in to reply to this topic. Login to reply